on 03-14-2007 3:22 PM
Team,
I am getting the following error when scheduling a background job which contains Call Transaction 'VF02' . This job creates a spool. When I check SP01 I get the following in the SP01 'Status Text'
'Frontend unavailable'
Any help is appreciated.
Thanks
Hi,
You can´t use local printing for batch processes, just create the spool request and print it out manually out of SP01.
Reson for not using fontend printer in batch process:
The system doesn´t know to which frontend workstation to print if the process is running in the background.
Or else one more way is use network printer for Batch / BGD processes.
Thanks & Regards,
Balaji.S
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It appears that it is trying to use the frondend SAPgui for something, is there any downloading going on anyway during the job? Does it use any frontend controls, like ALV, or tree controls?
Regards,
Rich Heilman
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No there are no frontend controls --- The program used to work fine - Recently I created a transaction code and transported the program to production.
REPORT Z_INVOICE_REPRINT_ZDLS .
*New pgm created by merging z_invoice_reprint and zsdship
* Created on: - 10/2003
* Description: - Reprint invoices with Proof of Shipment
* Keywords: - Reprint invoices with Proof of Shipment
TABLES: VBRK, VBRP, VBAK, VBAP, LIKP, LIPS, VBPA,
BSID, BSAD, USR01, KNKK, NAST.
DATA: BEGIN OF ITAB OCCURS 1,
VBELN LIKE VBRK-VBELN,
END OF ITAB.
DATA: TEMPTAB LIKE ITAB OCCURS 1 WITH HEADER LINE.
DATA: LIN LIKE SY-TABIX,
DDAYS(3) TYPE N,
DUEDATE LIKE BSID-ZFBDT.
DATA: BDCDATA LIKE BDCDATA OCCURS 1 WITH HEADER LINE.
DATA POPUP_ANSWER(1).
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME.
SELECT-OPTIONS: SINVOICE FOR VBRK-VBELN,
SDELIVER FOR LIKP-VBELN,
SORDER FOR VBAK-VBELN,
SBSTNK FOR VBRK-BSTNK_VF. "PO#
SELECTION-SCREEN END OF BLOCK BLK1.
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME.
SELECT-OPTIONS: SGRUPP FOR KNKK-GRUPP,
SFKDAT FOR VBRK-FKDAT,
SDUEDATE FOR BSID-ZFBDT,
SCLRNGDT FOR BSAD-AUGDT, "Clearing Date
SSOLDTO FOR VBRK-KUNAG,
SPAYER FOR VBRK-KUNRG,
SBILLTO FOR VBPA-KUNNR,
SSHIPTO FOR VBPA-KUNNR,
SGSBER FOR VBRP-GSBER,
SLIFNR FOR LIKP-LIFNR.
SELECTION-SCREEN END OF BLOCK BLK2.
SELECTION-SCREEN BEGIN OF BLOCK BLK3 WITH FRAME.
PARAMETERS: PDAYS(3) TYPE N.
SELECTION-SCREEN END OF BLOCK BLK3.
SELECTION-SCREEN BEGIN OF BLOCK BLK4 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 10(10) TEXT-001.
PARAMETERS: PTAX AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 45(15) TEXT-002.
PARAMETERS: PNOTAX AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 10(10) TEXT-003.
PARAMETERS: PCREDITS AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN COMMENT 45(15) TEXT-004.
PARAMETERS: PDEBITS AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 10(10) TEXT-005.
PARAMETERS: POPEN AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 45(15) TEXT-006.
PARAMETERS: PCLOSED AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BLK4.
SELECTION-SCREEN BEGIN OF BLOCK BLK5 WITH FRAME.
PARAMETERS: PLDEST LIKE NAST-LDEST.
SELECTION-SCREEN END OF BLOCK BLK5.
INITIALIZATION. "similar to PBO
SELECT SINGLE SPLD FROM USR01 INTO PLDEST
WHERE BNAME = SY-UNAME.
AT SELECTION-SCREEN.
IF SINVOICE IS INITIAL AND SDELIVER IS INITIAL AND SORDER IS INITIAL
AND SFKDAT IS INITIAL AND SSOLDTO IS INITIAL AND SGRUPP IS INITIAL.
MESSAGE E049(ZZ) WITH 'Please enter Invoice or Delivery or'
'Sales Order or Sold-to or Collector Code or'
'Invoice Date - in the selection screen'.
EXIT.
ENDIF.
"Clearing Date w/o customer will output many many invoices bidk907024
IF NOT sclrngdt IS INITIAL AND ssoldto IS INITIAL .
MESSAGE i999(zz) WITH 'select customers'.
ENDIF.
"Clearing Date w/o customer will output many many invoices
IF NOT SCLRNGDT IS INITIAL AND SSOLDTO IS INITIAL.
MESSAGE E999(ZZ) WITH 'You Have selected CLEARING DATE:Select Customer'.
ELSEIF NOT SCLRNGDT IS INITIAL AND PCLOSED <> 'X'.
MESSAGE E999(ZZ) WITH 'You Have selected CLEARING DATE:Select Closed'.
ELSEIF NOT SCLRNGDT IS INITIAL AND POPEN = 'X'.
MESSAGE E999(ZZ) WITH 'You Have selected CLEARING DATE:UNSelect Open'.
ENDIF.
START-OF-SELECTION.
IF POPEN <> 'X' AND PCLOSED <> 'X'.
MESSAGE I049(ZZ) WITH 'Please select Open or Closed Invoices'.
EXIT.
ENDIF.
IF PCREDITS <> 'X' AND PDEBITS <> 'X'.
MESSAGE I049(ZZ) WITH 'Please select Credit or Debit Invoices'.
EXIT.
ENDIF.
IF PTAX <> 'X' AND PNOTAX <> 'X'.
MESSAGE I049(ZZ) WITH 'Please select Taxable or'
'Non-taxable Invoices'.
EXIT.
ENDIF.
IF NOT SINVOICE IS INITIAL.
PERFORM GET_DATA_FROM_INVOICE.
ELSEIF NOT SDELIVER IS INITIAL.
PERFORM GET_DATA_FROM_DELIVERY.
ELSEIF NOT SORDER IS INITIAL.
PERFORM GET_DATA_FROM_ORDER.
ELSEIF NOT SFKDAT IS INITIAL.
PERFORM GET_DATA_FROM_FKDAT.
ELSEIF NOT SSOLDTO IS INITIAL.
PERFORM GET_DATA_FROM_SOLDTO.
ELSEIF NOT SGRUPP IS INITIAL.
PERFORM GET_DATA_FROM_GRUPP.
ELSE.
WRITE:/ 'Please enter Invoice or Delivery or',
'Sales Order or Sold-to or Collector Code or',
'Invoice Date - in the selection screen'.
EXIT.
ENDIF.
DESCRIBE TABLE ITAB LINES LIN.
IF LIN = 0.
WRITE:/ 'There are no invoices that match your selection-criteria'.
ELSE.
LIN = 0.
LOOP AT ITAB.
PERFORM FILL_BDCDATA USING: 'X' 'SAPMV60A' '0101',
' ' 'VBRK-VBELN' ITAB-VBELN,
' ' 'BDC_OKCODE' 'DRCK',
'X' 'SAPLVMSG' '0110',
' ' 'DNAST-KSCHL' 'ZRD1',
' ' 'BDC_OKCODE' 'STAR'.
SELECT SINGLE KSCHL FROM NAST INTO NAST-KSCHL
WHERE KAPPL = 'V3'
AND OBJKY = ITAB-VBELN
AND KSCHL = 'ZRD1'
AND VSTAT <> 0.
IF SY-SUBRC = 0.
PERFORM FILL_BDCDATA USING: 'X' 'SAPLSPO1' '0300',
' ' 'BDC_OKCODE' '=YES'.
ENDIF.
PERFORM FILL_BDCDATA USING: 'X' 'SAPLVMSG' '0100',
' ' 'NAST-LDEST' PLDEST,
*spool gathers all invoices under one request for similar characteristics
*. But I want to create separate request for each invoice (hence
one PROOF of Delivery for each invoice)
*Each invoice will be queued one after another respectively in SP01.
*fill invoice # in the dept. to create unique requests.
' ' 'NAST-TDDIVISION' ITAB-VBELN,"dept
' ' 'BDC_OKCODE' 'STAR'.
************************************
SUBMIT ZSDSHIP WITH INVOICE = ITAB-VBELN
TO SAP-SPOOL without spool dynpro
destination pldest "to avoid
*syntax error DESTINATION is added BIUpgrade-
IMMEDIATELY 'X'
IMMEDIATELY ' ' "
NEW LIST IDENTIFICATION 'X'
KEEP IN SPOOL 'X'
AND RETURN.
************************************
CALL TRANSACTION 'VF02' USING BDCDATA MODE 'N' UPDATE 'S'.
IF SY-SUBRC = 0.
WRITE:/5 'Invoice', ITAB-VBELN, 'has been printed'.
LIN = LIN + 1.
ELSE.
WRITE:/8 'Invoice', ITAB-VBELN, 'could not be printed'.
ENDIF.
REFRESH BDCDATA. CLEAR: BDCDATA, NAST.
ENDLOOP.
ULINE.
WRITE:/5 LIN, 'Invoices have been Printed on', PLDEST.
ENDIF.
*& Form GET_DATA_FROM_INVOICE
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_FROM_INVOICE.
SELECT VBELN KUNAG MWSBK VBTYP
INTO (ITAB-VBELN, VBRK-KUNAG, VBRK-MWSBK, VBRK-VBTYP)
FROM VBRK
WHERE VBELN IN SINVOICE
AND KUNAG IN SSOLDTO
AND KUNRG IN SPAYER
AND BSTNK_VF IN SBSTNK
AND FKDAT IN SFKDAT.
IF PTAX = 'X' AND PNOTAX <> 'X'.
CHECK VBRK-MWSBK <> 0.
ELSEIF PTAX <> 'X' AND PNOTAX = 'X'.
CHECK VBRK-MWSBK = 0.
ENDIF.
IF PCREDITS = 'X' AND PDEBITS <> 'X'.
CHECK VBRK-VBTYP = 'O'.
ELSEIF PCREDITS <> 'X' AND PDEBITS = 'X'.
CHECK VBRK-VBTYP <> 'O'.
ENDIF.
IF NOT SGRUPP IS INITIAL.
SELECT SINGLE KUNNR INTO KNKK-KUNNR FROM KNKK
WHERE KUNNR = VBRK-KUNAG
AND KKBER = 'BIC'
AND GRUPP IN SGRUPP.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SDELIVER IS INITIAL OR
NOT SORDER IS INITIAL OR
NOT SGSBER IS INITIAL.
SELECT SINGLE VBELN INTO VBRP-VBELN FROM VBRP
WHERE VBELN = ITAB-VBELN
AND GSBER IN SGSBER
AND VGBEL IN SDELIVER
AND AUBEL IN SORDER.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SBILLTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'
AND KUNNR IN SBILLTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SSHIPTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'WE'
AND KUNNR IN SSHIPTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SLIFNR IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'L3'
AND LIFNR IN SLIFNR.
CHECK SY-SUBRC = 0.
ENDIF.
IF POPEN = 'X' AND PCLOSED <> 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN <> 'X' AND PCLOSED = 'X'.
SELECT SINGLE belnr zfbdt zbd3t "Clearing Date
INTO (bsad-belnr, bsad-zfbdt, bsad-zbd3t)
SELECT SINGLE BELNR AUGDT ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-AUGDT, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN
AND AUGDT IN SCLRNGDT. "
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN = 'X' AND PCLOSED = 'X' AND NOT PDAYS IS INITIAL.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
IF SY-SUBRC = 0.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ELSE.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ENDIF.
APPEND ITAB. CLEAR ITAB.
ENDSELECT.
ENDFORM. " GET_DATA_FROM_INVOICE
&----
*& Form GET_DATA_FROM_DELIVERY
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_FROM_DELIVERY.
SELECT VBELN INTO TEMPTAB-VBELN FROM VBFA
WHERE VBELV IN SDELIVER
AND VBTYP_N IN ('M', 'O', 'P')
AND VBTYP_V = 'J'.
APPEND TEMPTAB. CLEAR TEMPTAB.
ENDSELECT.
SORT TEMPTAB.
DELETE ADJACENT DUPLICATES FROM TEMPTAB.
LOOP AT TEMPTAB.
SELECT VBELN KUNAG MWSBK VBTYP
INTO (ITAB-VBELN, VBRK-KUNAG, VBRK-MWSBK, VBRK-VBTYP)
FROM VBRK
WHERE VBELN = TEMPTAB-VBELN
AND KUNAG IN SSOLDTO
AND KUNRG IN SPAYER
AND BSTNK_VF IN SBSTNK
AND FKDAT IN SFKDAT.
IF PTAX = 'X' AND PNOTAX <> 'X'.
CHECK VBRK-MWSBK <> 0.
ELSEIF PTAX <> 'X' AND PNOTAX = 'X'.
CHECK VBRK-MWSBK = 0.
ENDIF.
IF PCREDITS = 'X' AND PDEBITS <> 'X'.
CHECK VBRK-VBTYP = 'O'.
ELSEIF PCREDITS <> 'X' AND PDEBITS = 'X'.
CHECK VBRK-VBTYP <> 'O'.
ENDIF.
IF NOT SGRUPP IS INITIAL.
SELECT SINGLE KUNNR INTO KNKK-KUNNR FROM KNKK
WHERE KUNNR = VBRK-KUNAG
AND KKBER = 'BIC'
AND GRUPP IN SGRUPP.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SORDER IS INITIAL OR NOT SGSBER IS INITIAL.
SELECT SINGLE VBELN INTO VBRP-VBELN FROM VBRP
WHERE VBELN = ITAB-VBELN
AND GSBER IN SGSBER
AND AUBEL IN SORDER.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SBILLTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'
AND KUNNR IN SBILLTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SSHIPTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'WE'
AND KUNNR IN SSHIPTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SLIFNR IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'L3'
AND LIFNR IN SLIFNR.
CHECK SY-SUBRC = 0.
ENDIF.
IF POPEN = 'X' AND PCLOSED <> 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN <> 'X' AND PCLOSED = 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN
AND AUGDT IN SCLRNGDT. "
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN = 'X' AND PCLOSED = 'X' AND NOT PDAYS IS INITIAL.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
IF SY-SUBRC = 0.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ELSE.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
DDAYS = SY-DATUM - ( BSAD-ZFBDT + BSAD-ZBD3T ).
CHECK DDAYS >= PDAYS.
ENDIF.
ENDIF.
APPEND ITAB. CLEAR ITAB.
ENDSELECT.
ENDLOOP.
ENDFORM. " GET_DATA_FROM_DELIVERY
&----
*& Form GET_DATA_FROM_ORDER
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_FROM_ORDER.
SELECT VBELN INTO TEMPTAB-VBELN FROM VBFA
WHERE VBELV IN SORDER
AND VBTYP_N IN ('M', 'O', 'P')
AND VBTYP_V IN ('C', 'H').
APPEND TEMPTAB. CLEAR TEMPTAB.
ENDSELECT.
SORT TEMPTAB.
DELETE ADJACENT DUPLICATES FROM TEMPTAB.
LOOP AT TEMPTAB.
SELECT VBELN KUNAG MWSBK VBTYP
INTO (ITAB-VBELN, VBRK-KUNAG, VBRK-MWSBK, VBRK-VBTYP)
FROM VBRK
WHERE VBELN = TEMPTAB-VBELN
AND KUNAG IN SSOLDTO
AND KUNRG IN SPAYER
AND BSTNK_VF IN SBSTNK
AND FKDAT IN SFKDAT.
IF PTAX = 'X' AND PNOTAX <> 'X'.
CHECK VBRK-MWSBK <> 0.
ELSEIF PTAX <> 'X' AND PNOTAX = 'X'.
CHECK VBRK-MWSBK = 0.
ENDIF.
IF PCREDITS = 'X' AND PDEBITS <> 'X'.
CHECK VBRK-VBTYP = 'O'.
ELSEIF PCREDITS <> 'X' AND PDEBITS = 'X'.
CHECK VBRK-VBTYP <> 'O'.
ENDIF.
IF NOT SGRUPP IS INITIAL.
SELECT SINGLE KUNNR INTO KNKK-KUNNR FROM KNKK
WHERE KUNNR = VBRK-KUNAG
AND KKBER = 'BIC'
AND GRUPP IN SGRUPP.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SGSBER IS INITIAL.
SELECT SINGLE VBELN INTO VBRP-VBELN FROM VBRP
WHERE VBELN = ITAB-VBELN
AND GSBER IN SGSBER.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SBILLTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'
AND KUNNR IN SBILLTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SSHIPTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'WE'
AND KUNNR IN SSHIPTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SLIFNR IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'L3'
AND LIFNR IN SLIFNR.
CHECK SY-SUBRC = 0.
ENDIF.
IF POPEN = 'X' AND PCLOSED <> 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN <> 'X' AND PCLOSED = 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN
AND AUGDT IN SCLRNGDT. "
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN = 'X' AND PCLOSED = 'X' AND NOT PDAYS IS INITIAL.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
IF SY-SUBRC = 0.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ELSE.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ENDIF.
APPEND ITAB. CLEAR ITAB.
ENDSELECT.
ENDLOOP.
ENDFORM. " GET_DATA_FROM_ORDER
&----
*& Form GET_DATA_FROM_SOLDTO
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_FROM_SOLDTO.
SELECT VBELN INTO VBAK-VBELN FROM VBAK
WHERE KUNNR IN SSOLDTO
AND BSTNK IN SBSTNK.
SELECT VBELN INTO TEMPTAB-VBELN FROM VBFA
WHERE VBELV = VBAK-VBELN
AND VBTYP_N IN ('M', 'O', 'P')
AND VBTYP_V IN ('C', 'H').
APPEND TEMPTAB. CLEAR TEMPTAB.
ENDSELECT.
ENDSELECT.
SORT TEMPTAB.
DELETE ADJACENT DUPLICATES FROM TEMPTAB.
LOOP AT TEMPTAB.
SELECT VBELN KUNAG MWSBK VBTYP
INTO (ITAB-VBELN, VBRK-KUNAG, VBRK-MWSBK, VBRK-VBTYP)
FROM VBRK
WHERE VBELN = TEMPTAB-VBELN
AND KUNRG IN SPAYER
AND FKDAT IN SFKDAT.
IF PTAX = 'X' AND PNOTAX <> 'X'.
CHECK VBRK-MWSBK <> 0.
ELSEIF PTAX <> 'X' AND PNOTAX = 'X'.
CHECK VBRK-MWSBK = 0.
ENDIF.
IF PCREDITS = 'X' AND PDEBITS <> 'X'.
CHECK VBRK-VBTYP = 'O'.
ELSEIF PCREDITS <> 'X' AND PDEBITS = 'X'.
CHECK VBRK-VBTYP <> 'O'.
ENDIF.
IF NOT SGRUPP IS INITIAL.
SELECT SINGLE KUNNR INTO KNKK-KUNNR FROM KNKK
WHERE KUNNR = VBRK-KUNAG
AND KKBER = 'BIC'
AND GRUPP IN SGRUPP.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SGSBER IS INITIAL.
SELECT SINGLE VBELN INTO VBRP-VBELN FROM VBRP
WHERE VBELN = ITAB-VBELN
AND GSBER IN SGSBER.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SBILLTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'
AND KUNNR IN SBILLTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SSHIPTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'WE'
AND KUNNR IN SSHIPTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SLIFNR IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'L3'
AND LIFNR IN SLIFNR.
CHECK SY-SUBRC = 0.
ENDIF.
IF POPEN = 'X' AND PCLOSED <> 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN <> 'X' AND PCLOSED = 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN
AND AUGDT IN SCLRNGDT. "
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN = 'X' AND PCLOSED = 'X' AND NOT PDAYS IS INITIAL.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
IF SY-SUBRC = 0.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ELSE.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ENDIF.
APPEND ITAB. CLEAR ITAB.
ENDSELECT.
ENDLOOP.
ENDFORM. " GET_DATA_FROM_SOLDTO
&----
*& Form GET_DATA_FROM_GRUPP
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_FROM_GRUPP.
SELECT KUNNR INTO KNKK-KUNNR FROM KNKK
WHERE GRUPP IN SGRUPP.
SELECT VBELN INTO VBAK-VBELN FROM VBAK
WHERE KUNNR = KNKK-KUNNR
AND BSTNK IN SBSTNK.
SELECT VBELN INTO TEMPTAB-VBELN FROM VBFA
WHERE VBELV = VBAK-VBELN
AND VBTYP_N IN ('M', 'O', 'P')
AND VBTYP_V IN ('C', 'H').
APPEND TEMPTAB. CLEAR TEMPTAB.
ENDSELECT.
ENDSELECT.
ENDSELECT.
SORT TEMPTAB.
DELETE ADJACENT DUPLICATES FROM TEMPTAB.
LOOP AT TEMPTAB.
SELECT VBELN KUNAG MWSBK VBTYP
INTO (ITAB-VBELN, VBRK-KUNAG, VBRK-MWSBK, VBRK-VBTYP)
FROM VBRK
WHERE VBELN = TEMPTAB-VBELN
AND KUNRG IN SPAYER
AND FKDAT IN SFKDAT.
IF PTAX = 'X' AND PNOTAX <> 'X'.
CHECK VBRK-MWSBK <> 0.
ELSEIF PTAX <> 'X' AND PNOTAX = 'X'.
CHECK VBRK-MWSBK = 0.
ENDIF.
IF PCREDITS = 'X' AND PDEBITS <> 'X'.
CHECK VBRK-VBTYP = 'O'.
ELSEIF PCREDITS <> 'X' AND PDEBITS = 'X'.
CHECK VBRK-VBTYP <> 'O'.
ENDIF.
IF NOT SGSBER IS INITIAL.
SELECT SINGLE VBELN INTO VBRP-VBELN FROM VBRP
WHERE VBELN = ITAB-VBELN
AND GSBER IN SGSBER.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SBILLTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'
AND KUNNR IN SBILLTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SSHIPTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'WE'
AND KUNNR IN SSHIPTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SLIFNR IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'L3'
AND LIFNR IN SLIFNR.
CHECK SY-SUBRC = 0.
ENDIF.
IF POPEN = 'X' AND PCLOSED <> 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN <> 'X' AND PCLOSED = 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN
AND AUGDT IN SCLRNGDT. "
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN = 'X' AND PCLOSED = 'X' AND NOT PDAYS IS INITIAL.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
IF SY-SUBRC = 0.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ELSE.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
DDAYS = SY-DATUM - ( BSAD-ZFBDT + BSAD-ZBD3T ).
CHECK DDAYS >= PDAYS.
ENDIF.
ENDIF.
APPEND ITAB. CLEAR ITAB.
ENDSELECT.
ENDLOOP.
ENDFORM. " GET_DATA_FROM_GRUPP
&----
*& Form GET_DATA_FROM_FKDAT
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_FROM_FKDAT.
SELECT VBELN KUNAG MWSBK VBTYP
INTO (ITAB-VBELN, VBRK-KUNAG, VBRK-MWSBK, VBRK-VBTYP)
FROM VBRK
WHERE FKDAT IN SFKDAT
AND KUNAG IN SSOLDTO
AND KUNRG IN SPAYER
AND BSTNK_VF IN SBSTNK.
IF PTAX = 'X' AND PNOTAX <> 'X'.
CHECK VBRK-MWSBK <> 0.
ELSEIF PTAX <> 'X' AND PNOTAX = 'X'.
CHECK VBRK-MWSBK = 0.
ENDIF.
IF PCREDITS = 'X' AND PDEBITS <> 'X'.
CHECK VBRK-VBTYP = 'O'.
ELSEIF PCREDITS <> 'X' AND PDEBITS = 'X'.
CHECK VBRK-VBTYP <> 'O'.
ENDIF.
IF NOT SGRUPP IS INITIAL.
SELECT SINGLE KUNNR INTO KNKK-KUNNR FROM KNKK
WHERE KUNNR = VBRK-KUNAG
AND KKBER = 'BIC'
AND GRUPP IN SGRUPP.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SGSBER IS INITIAL.
SELECT SINGLE VBELN INTO VBRP-VBELN FROM VBRP
WHERE VBELN = ITAB-VBELN
AND GSBER IN SGSBER.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SBILLTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'
AND KUNNR IN SBILLTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SSHIPTO IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'WE'
AND KUNNR IN SSHIPTO.
CHECK SY-SUBRC = 0.
ENDIF.
IF NOT SLIFNR IS INITIAL.
SELECT SINGLE VBELN INTO VBPA-VBELN FROM VBPA
WHERE VBELN = ITAB-VBELN
AND POSNR = '000000'
AND PARVW = 'L3'
AND LIFNR IN SLIFNR.
CHECK SY-SUBRC = 0.
ENDIF.
IF POPEN = 'X' AND PCLOSED <> 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN <> 'X' AND PCLOSED = 'X'.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN
AND AUGDT IN SCLRNGDT. "BIDK907029
CHECK SY-SUBRC = 0.
IF NOT PDAYS IS INITIAL.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ELSEIF POPEN = 'X' AND PCLOSED = 'X' AND NOT PDAYS IS INITIAL.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSID-BELNR, BSID-ZFBDT, BSID-ZBD3T)
FROM BSID
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
IF SY-SUBRC = 0.
DUEDATE = BSID-ZFBDT + BSID-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ELSE.
SELECT SINGLE BELNR ZFBDT ZBD3T
INTO (BSAD-BELNR, BSAD-ZFBDT, BSAD-ZBD3T)
FROM BSAD
WHERE BUKRS = 'BIC'
AND KUNNR = VBRK-KUNAG
AND BELNR = ITAB-VBELN.
DUEDATE = BSAD-ZFBDT + BSAD-ZBD3T.
CHECK DUEDATE IN SDUEDATE.
DDAYS = SY-DATUM - DUEDATE.
CHECK DDAYS >= PDAYS.
ENDIF.
ENDIF.
APPEND ITAB. CLEAR ITAB.
ENDSELECT.
ENDFORM. " GET_DATA_FROM_FKDAT
&----
*& Form FILL_BDCDATA
&----
text
----
-->P_0408 text
-->P_0409 text
-->P_0410 text
----
FORM FILL_BDCDATA USING A B C.
IF A = 'X'.
BDCDATA-DYNBEGIN = A.
BDCDATA-PROGRAM = B.
BDCDATA-DYNPRO = C.
ELSE.
BDCDATA-FNAM = B.
BDCDATA-FVAL = C.
ENDIF.
APPEND BDCDATA. CLEAR BDCDATA.
ENDFORM. " FILL_BDCDATA
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.