2007 Sep 27 3:33 AM
Hi,
In my program iam using this function call function 'LIST_TO_ASCI'
so what ever the output placed in list is transfered to end customer in the textfile format , my problem is when i set in background job, some records are missing , is there any restrictions for setting column and row size
REPORT ZDEVTESTING
NO STANDARD PAGE HEADING
LINE-SIZE 275
LINE-COUNT 80
MESSAGE-ID YMSG.
INCLUDE Y_INCLUDE_FTP_V01.
TYPE-POOLS : SLIS.
TYPE-POOLS: SLIST.
TABLES: LIKP,
LIPS,
LFA1,
VBKD,
KNA1,
ADRC,
VBAP,
KNVK,
T005T,
ZMMGRINFO,
ZSDDOITEM,
ZPASPACKLIST,
ZSDPACKINFO_V1.
DATA : BEGIN OF TEM_ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN,
END OF TEM_ITAB.
DATA: V_LOTID(15) TYPE C,
V_TOT_LFIMG(30),
V_COUNTRY_TEXT(15),
TEMP_CHARG,
L_NTGEW LIKE ZSDPACKINFO_V1-NTGEW,
L_LFIMG LIKE LIPS-LFIMG.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN, "UTAC DO NO
CUSO(30), "CUSTOMER SO
CUIN(10), "CUSTOMER PART NO
POSNR LIKE LIPS-POSNR, "ITEM NO
ARKTX LIKE LIPS-ARKTX, "ShortTextforSOITEM
LFIMG LIKE LIPS-LFIMG, "QTY
WADAT_IST LIKE LIKP-WADAT_IST, "DO DATE
VBELN1 LIKE LIKP-VBELN, "UTAC PO NO
NAME1 LIKE KNA1-NAME1, "SHIPPING NAME
NAME2 LIKE ADRC-NAME1, "Billing Name
FNAM(35), "Forwarder Name
LIFNR LIKE LFA1-LIFNR, " Forwarder
MAWB(40), "MAWB Number
HAWB(40), "HAWB Number
FLNO(70), "Flight Number
ZCUST_LOTID LIKE ZMMGRINFO-ZCUST_LOTID, "CUSTLOTID
CHARG LIKE LIPS-CHARG, "UTACLOTID
ZDATECODE LIKE ZMMGRINFO-ZDATECODE, "UTAC DATE CODE
ZU_COO LIKE ZMMGRINFO-ZU_COO, "COUNTRY OF ORIGIN
V_BTGEW(19), "GROSS WEIGHT
V_NTGEW LIKE ZSDPACKINFO_V1-NTGEW, "Net Weight
V_CTN1 LIKE ZSDPACKINFO_V1-ZU_CTN_NUM, "CARTON NUMBER
V_DIM(15), "CARTON DIMENSION
KUNAG LIKE LIKP-KUNAG, "Sold-to-Party
V_QTY1(30),
V_QTY2(30),
V_QTY3 LIKE LIPS-LFIMG,
V_QTY LIKE LIPS-LFIMG,
V_QTY4 LIKE LIPS-LFIMG,
V_QTY5(30),
ADRNR LIKE KNA1-ADRNR,
BSTKD LIKE VBKD-BSTKD, "CUST PO
MATNR LIKE LIPS-MATNR, "MATERIAL
WERKS LIKE LIPS-WERKS, "PLANT
V_CTN(4),
V_TOTCTN(4),
NTGEW LIKE ZSDPACKINFO_V1-NTGEW,
NTGEW1(30),
SHPN(35), "CUSTOMER NAME
KUNNR LIKE LIKP-KUNNR, "SHIP-TO-PARTY
END OF ITAB.
DATA : BEGIN OF ITAB1 OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA : END OF ITAB1.
DATA: BEGIN OF S_DATA OCCURS 0,
CUSO(30), "CUSTOMER SO
CUIN(10), "CUSTOMER PART NO
POSNR LIKE LIPS-POSNR, "ITEM NO
ARKTX LIKE LIPS-ARKTX, "ShortTextforSOITEM
LFIMG LIKE LIPS-LFIMG, "QTY
KUNAG LIKE LIKP-KUNAG, "Sold-to-Party
V_QTY1(30),
V_QTY2(30),
WADAT_IST LIKE LIKP-WADAT_IST, "DO DATE
VBELN LIKE LIKP-VBELN, "UTAC DO NO
VBELN1 LIKE LIKP-VBELN, "UTAC PO NO
NAME1 LIKE KNA1-NAME1, "SHIPPING NAME
NAME2 LIKE ADRC-NAME1, "Billing Name
LIFNR LIKE LFA1-LIFNR, " Forwarder
FNAM(35), "Forwarder Name
MAWB(30), "MAWB Number
HAWB(30), "HAWB Number
FLNO(70), "Flight Number
ZCUST_LOTID LIKE ZMMGRINFO-ZCUST_LOTID, "CUSTLOTID
CHARG LIKE LIPS-CHARG, "UTACLOTID
ZDATECODE LIKE ZMMGRINFO-ZDATECODE, "UTAC DATE CODE
ZU_COO LIKE ZMMGRINFO-ZU_COO, "COUNTRY OF ORIGIN
V_BTGEW(19), "GROSS WEIGHT
V_NTGEW LIKE ZSDPACKINFO_V1-NTGEW, "Net Weight
V_CTN1 LIKE ZSDPACKINFO_V1-ZU_CTN_NUM, "CARTON NUMBER
NTGEW1(30),
V_DIM(15), "CARTON DIMENSION
ADRNR LIKE KNA1-ADRNR,
BSTKD LIKE VBKD-BSTKD, "CUST PO
MATNR LIKE LIPS-MATNR, "MATERIAL
WERKS LIKE LIPS-WERKS, "PLANT
V_QTY3 LIKE LIPS-LFIMG,
V_QTY LIKE LIPS-LFIMG,
V_QTY4 LIKE LIPS-LFIMG,
V_QTY5(30),
V_CTN(4),
V_TOTCTN(4),
NTGEW LIKE ZSDPACKINFO_V1-NTGEW,
SHPN(35), "Customer Name
KUNNR LIKE LIKP-KUNNR, " Ship-to-Party
END OF S_DATA.
DATA: HOST LIKE ZFTP-HOST,
USERNAME LIKE ZFTP-USERNAME,
PWD(100) TYPE C,
PRGNAME LIKE ZFTP-PRGNAME,
RDIRLOC LIKE ZFTP-RDIRLOC,
LDIRLOC LIKE ZFTP-RDIRLOC,
HANDLE TYPE I,
FNAME(40) TYPE C,
FAILED(1) TYPE C.
DATA: L_OK(1) TYPE C,
L_ERRMSG(150) TYPE C.
DATA : T_ZMMGRINFO LIKE ZMMGRINFO OCCURS 0 WITH HEADER LINE.
DATA:T_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE,
VBELN LIKE THEAD-TDNAME.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS :
S_KUNAG FOR LIKP-KUNAG DEFAULT 'BC1001'.
PARAMETERS : S_WADAT LIKE LIKP-WADAT_IST DEFAULT SY-DATUM.
PARAMETERS: S_UPLOAD AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM WRITE_DATA.
PERFORM DOWN_DATA.
&----
*& Form GET_DETAILS
&----
FORM GET_DATA .
SELECT LIKP~VBELN
LIPS~POSNR
LIKP~WADAT_IST
LIKP~KUNNR
LIKP~KUNAG
KNA1~NAME1
KNA1~ADRNR
VBKD~BSTKD
LIPS~MATNR
LIPS~CHARG
LIPS~LFIMG
LIPS~WERKS
LIPS~VGBEL
LIPS~ARKTX
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM LIKP
JOIN LIPS ON LIKPVBELN = LIPSVBELN
JOIN VBKD ON LIPSVGBEL = VBKDVBELN
JOIN KNA1 ON KNA1KUNNR = LIKPKUNNR
WHERE LIPS~LFIMG GT 0 AND
LIKP~KUNAG IN S_KUNAG AND
LIKP~WADAT_IST = S_WADAT
ORDER BY LIKP~WADAT_IST
LIKP~VBELN.
LOOP AT ITAB.
CALL FUNCTION 'Z_GET_CHAR_VAL'
EXPORTING
WERKS = ITAB-WERKS
MATNR = ITAB-MATNR
CHARG = ITAB-CHARG
IMPORTING
ZMMGRINFO = T_ZMMGRINFO
EXCEPTIONS
INVALID_COMBINATION = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ITAB-ZCUST_LOTID = T_ZMMGRINFO-ZCUST_LOTID.
ITAB-ZDATECODE = T_ZMMGRINFO-ZDATECODE.
ITAB-ZU_COO = T_ZMMGRINFO-ZU_COO.
VBELN = ITAB-VBELN.
*Extracting the Flight Number
PERFORM READ_TEXT USING 'Z006' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-FLNO.
Extracting the MAWB Number
PERFORM READ_TEXT USING 'Z007' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-MAWB.
Extracting the HAWB Number
PERFORM READ_TEXT USING 'Z008' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-HAWB.
Extracting the Carton Dimension
PERFORM READ_TEXT USING 'Z013' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-V_DIM.
CONCATENATE ITAB-V_DIM 'CM' INTO ITAB-V_DIM SEPARATED BY SPACE.
PERFORM READ_TEXT USING 'Z015' 'E' VBELN 'VBBK'.
DELETE T_LINE WHERE TDLINE = SPACE.
IF NOT T_LINE[] IS INITIAL.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-CUSO.
ENDIF.
Customer PartNumber
PERFORM READ_TEXT USING 'Z017' 'E' VBELN 'VBBK'.
LOOP AT T_LINE.
MOVE : T_LINE-TDLINE TO ITAB-CUIN.
ENDLOOP.
Extracting the Gross Weight
PERFORM READ_TEXT USING 'Z022' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-V_BTGEW.
*Qyantity in DO
PERFORM READ_TEXT USING 'Z015' 'E' VBELN 'VBBP'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-V_QTY.
*UTAC PO NUMBER AND DO NUMBER
MOVE ITAB-VBELN TO ITAB-VBELN1.
*FARWORDER NAME
SELECT SINGLE LIFNR INTO ITAB-LIFNR FROM VBPA
WHERE VBELN = ITAB-VBELN AND PARVW = 'ZF'.
SELECT SINGLE NAME1 INTO ITAB-FNAM FROM LFA1
WHERE LIFNR = ITAB-LIFNR.
CONDENSE ITAB-FNAM.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = ITAB-KUNAG.
IF SY-SUBRC = 0.
ITAB-KUNNR = KNA1-KUNNR.
ENDIF.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = ITAB-KUNNR.
IF SY-SUBRC = 0.
SELECT SINGLE * FROM ADRC WHERE ADDRNUMBER = KNA1-ADRNR.
ITAB-SHPN = ADRC-NAME1.
ENDIF.
SELECT SINGLE * FROM T005T
WHERE LAND1 = ITAB-ZU_COO AND
SPRAS = SY-LANGU.
IF SY-SUBRC EQ 0.
V_COUNTRY_TEXT = T005T-LANDX.
ELSE.
CLEAR V_COUNTRY_TEXT.
ENDIF.
MOVE ITAB-LFIMG TO ITAB-V_QTY1.
TRANSLATE ITAB-V_QTY1 USING ','.
CONDENSE ITAB-V_QTY1 NO-GAPS.
MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.
ENDFORM. " GET_DETAILS
***&----
*-
***
***& Form READ_TEXT
*&----
*
Reading the text
*----
*
FORM READ_TEXT USING P_ID LIKE THEAD-TDID
P_LAN LIKE THEAD-TDSPRAS
P_NAME LIKE THEAD-TDNAME
P_OBJ LIKE THEAD-TDOBJECT.
REFRESH T_LINE. CLEAR T_LINE.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = P_ID
LANGUAGE = P_LAN
NAME = P_NAME
OBJECT = P_OBJ
TABLES
LINES = T_LINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
ENDFORM. " READ_TEXT
*&----
*
*& Form WRITE_DATA
*&----
*
text
*----
*
FORM WRITE_DATA.
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO ITAB1.
AT NEW VBELN .
WRITE :/1 'ORDER'.
WRITE : 6 SY-VLINE.
WRITE : 7 ITAB1-CUSO LEFT-JUSTIFIED.
WRITE : 17 SY-VLINE.
WRITE : 18 ITAB1-CUIN LEFT-JUSTIFIED.
WRITE : 24 SY-VLINE.
WRITE : 25 ITAB1-ARKTX LEFT-JUSTIFIED.
WRITE : 43 SY-VLINE.
LOOP AT ITAB WHERE VBELN = ITAB1-VBELN.
L_LFIMG = L_LFIMG + ITAB-LFIMG.
ENDLOOP.
WRITE : 44 L_LFIMG NO-GROUPING LEFT-JUSTIFIED.
WRITE : 54 SY-VLINE.
WRITE : 55 ITAB1-WADAT_IST LEFT-JUSTIFIED.
WRITE: 65 SY-VLINE.
WRITE : 66 ITAB1-VBELN LEFT-JUSTIFIED.
WRITE: 76 SY-VLINE.
WRITE : 77 ITAB1-VBELN1 LEFT-JUSTIFIED.
WRITE : 87 SY-VLINE.
WRITE : 88 ITAB1-NAME1 LEFT-JUSTIFIED. .
WRITE : 123 SY-VLINE.
WRITE : 124 ITAB1-SHPN LEFT-JUSTIFIED.
WRITE : 159 SY-VLINE.
WRITE : 160 ITAB1-FNAM LEFT-JUSTIFIED.
WRITE : 204 SY-VLINE.
IF ITAB1-HAWB <> ''.
WRITE : 205 ITAB1-HAWB LEFT-JUSTIFIED.
ELSE.
WRITE : 205 ITAB1-MAWB LEFT-JUSTIFIED.
ENDIF.
WRITE : 245 SY-VLINE.
WRITE : 246 ITAB1-FLNO LEFT-JUSTIFIED.
WRITE : 266 SY-VLINE.
CLEAR L_LFIMG.
ENDAT.
SELECT * FROM ZSDPACKINFO_V1 WHERE VBELN = ITAB-VBELN AND
ZU_CTN_NUM NE '' AND ZU_LCHARG = ITAB-CHARG.
MOVE ZSDPACKINFO_V1-LFIMG TO ITAB-V_QTY2.
MOVE ZSDPACKINFO_V1-NTGEW TO ITAB-NTGEW.
MOVE ZSDPACKINFO_V1-NTGEW TO ITAB-NTGEW1.
MOVE ZSDPACKINFO_V1-ZU_CTN_NUM+6(4) TO ITAB-V_CTN.
TRANSLATE ITAB-V_QTY2 USING ', '.
CONDENSE ITAB-V_QTY2 NO-GAPS.
MOVE-CORRESPONDING ITAB TO S_DATA.
S_DATA-V_QTY4 = ITAB-V_QTY2.
CLEAR S_DATA-V_QTY2.
COLLECT S_DATA.
ENDSELECT.
LOOP AT S_DATA.
WRITE :/1'LOT'.
WRITE : 4 SY-VLINE.
WRITE : 5 S_DATA-CUSO LEFT-JUSTIFIED.
WRITE : 15 SY-VLINE.
WRITE : 16 S_DATA-CUIN LEFT-JUSTIFIED.
WRITE : 23 SY-VLINE.
WRITE : 24 S_DATA-ZCUST_LOTID LEFT-JUSTIFIED.
WRITE : 35 SY-VLINE.
WRITE : 36 S_DATA-CHARG LEFT-JUSTIFIED.
WRITE : 46 SY-VLINE.
WRITE : 47 S_DATA-V_QTY4 NO-GROUPING LEFT-JUSTIFIED .
WRITE : 57 SY-VLINE.
WRITE : 58 S_DATA-ZDATECODE LEFT-JUSTIFIED.
WRITE : 62 SY-VLINE.
WRITE : 63 V_COUNTRY_TEXT LEFT-JUSTIFIED.
WRITE : 75 SY-VLINE.
WRITE : 76 S_DATA-V_BTGEW LEFT-JUSTIFIED.
WRITE : 83 SY-VLINE.
L_NTGEW = S_DATA-NTGEW1.
WRITE : 84 L_NTGEW LEFT-JUSTIFIED.
WRITE : 94 SY-VLINE.
WRITE : 95 S_DATA-V_CTN LEFT-JUSTIFIED.
WRITE : 99 SY-VLINE.
WRITE : 100 S_DATA-V_DIM LEFT-JUSTIFIED.
WRITE : 115 SY-VLINE.
ENDLOOP.
REFRESH S_DATA.
ENDLOOP.
ENDFORM.
&----
*& Form DOWN_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM DOWN_DATA.
DATA : P_FILE(128) TYPE C.
DATA: P_FNAME(100).
data abap_list like abaplist occurs 1.
DATA : BEGIN OF IFILE OCCURS 0,
TEXT(1023) TYPE C,
END OF IFILE.
PRGNAME = SY-CPROG.
CONCATENATE '/home/sapifc/custrept/' 'IDT_' SY-DATUM '_' '2245' '.txt' INTO P_FILE.
call function 'LIST_TO_ASCI'
exporting
list_index = sy-lsind
tables
listasci = IFILE
listobject = abap_list
exceptions
empty_list = 1
list_index_invalid = 2
others = 3.
if sy-subrc <> 0.
endif.
OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC = 0.
LOOP AT IFILE.
TRANSFER IFILE TO P_FILE.
ENDLOOP.
ENDIF.
CLOSE DATASET P_FILE.
ENDFORM.
Hi,
In my program iam using this function call function 'LIST_TO_ASCI'
so what ever the output placed in list is transfered to end customer in the textfile format , my problem is when i set in background job, some records are missing , is there any restrictions for setting column and row size
REPORT ZDEVTESTING
NO STANDARD PAGE HEADING
LINE-SIZE 275
LINE-COUNT 80
MESSAGE-ID YMSG.
INCLUDE Y_INCLUDE_FTP_V01.
TYPE-POOLS : SLIS.
TYPE-POOLS: SLIST.
TABLES: LIKP,
LIPS,
LFA1,
VBKD,
KNA1,
ADRC,
VBAP,
KNVK,
T005T,
ZMMGRINFO,
ZSDDOITEM,
ZPASPACKLIST,
ZSDPACKINFO_V1.
DATA : BEGIN OF TEM_ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN,
END OF TEM_ITAB.
DATA: V_LOTID(15) TYPE C,
V_TOT_LFIMG(30),
V_COUNTRY_TEXT(15),
TEMP_CHARG,
L_NTGEW LIKE ZSDPACKINFO_V1-NTGEW,
L_LFIMG LIKE LIPS-LFIMG.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN, "UTAC DO NO
CUSO(30), "CUSTOMER SO
CUIN(10), "CUSTOMER PART NO
POSNR LIKE LIPS-POSNR, "ITEM NO
ARKTX LIKE LIPS-ARKTX, "ShortTextforSOITEM
LFIMG LIKE LIPS-LFIMG, "QTY
WADAT_IST LIKE LIKP-WADAT_IST, "DO DATE
VBELN1 LIKE LIKP-VBELN, "UTAC PO NO
NAME1 LIKE KNA1-NAME1, "SHIPPING NAME
NAME2 LIKE ADRC-NAME1, "Billing Name
FNAM(35), "Forwarder Name
LIFNR LIKE LFA1-LIFNR, " Forwarder
MAWB(40), "MAWB Number
HAWB(40), "HAWB Number
FLNO(70), "Flight Number
ZCUST_LOTID LIKE ZMMGRINFO-ZCUST_LOTID, "CUSTLOTID
CHARG LIKE LIPS-CHARG, "UTACLOTID
ZDATECODE LIKE ZMMGRINFO-ZDATECODE, "UTAC DATE CODE
ZU_COO LIKE ZMMGRINFO-ZU_COO, "COUNTRY OF ORIGIN
V_BTGEW(19), "GROSS WEIGHT
V_NTGEW LIKE ZSDPACKINFO_V1-NTGEW, "Net Weight
V_CTN1 LIKE ZSDPACKINFO_V1-ZU_CTN_NUM, "CARTON NUMBER
V_DIM(15), "CARTON DIMENSION
KUNAG LIKE LIKP-KUNAG, "Sold-to-Party
V_QTY1(30),
V_QTY2(30),
V_QTY3 LIKE LIPS-LFIMG,
V_QTY LIKE LIPS-LFIMG,
V_QTY4 LIKE LIPS-LFIMG,
V_QTY5(30),
ADRNR LIKE KNA1-ADRNR,
BSTKD LIKE VBKD-BSTKD, "CUST PO
MATNR LIKE LIPS-MATNR, "MATERIAL
WERKS LIKE LIPS-WERKS, "PLANT
V_CTN(4),
V_TOTCTN(4),
NTGEW LIKE ZSDPACKINFO_V1-NTGEW,
NTGEW1(30),
SHPN(35), "CUSTOMER NAME
KUNNR LIKE LIKP-KUNNR, "SHIP-TO-PARTY
END OF ITAB.
DATA : BEGIN OF ITAB1 OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA : END OF ITAB1.
DATA: BEGIN OF S_DATA OCCURS 0,
CUSO(30), "CUSTOMER SO
CUIN(10), "CUSTOMER PART NO
POSNR LIKE LIPS-POSNR, "ITEM NO
ARKTX LIKE LIPS-ARKTX, "ShortTextforSOITEM
LFIMG LIKE LIPS-LFIMG, "QTY
KUNAG LIKE LIKP-KUNAG, "Sold-to-Party
V_QTY1(30),
V_QTY2(30),
WADAT_IST LIKE LIKP-WADAT_IST, "DO DATE
VBELN LIKE LIKP-VBELN, "UTAC DO NO
VBELN1 LIKE LIKP-VBELN, "UTAC PO NO
NAME1 LIKE KNA1-NAME1, "SHIPPING NAME
NAME2 LIKE ADRC-NAME1, "Billing Name
LIFNR LIKE LFA1-LIFNR, " Forwarder
FNAM(35), "Forwarder Name
MAWB(30), "MAWB Number
HAWB(30), "HAWB Number
FLNO(70), "Flight Number
ZCUST_LOTID LIKE ZMMGRINFO-ZCUST_LOTID, "CUSTLOTID
CHARG LIKE LIPS-CHARG, "UTACLOTID
ZDATECODE LIKE ZMMGRINFO-ZDATECODE, "UTAC DATE CODE
ZU_COO LIKE ZMMGRINFO-ZU_COO, "COUNTRY OF ORIGIN
V_BTGEW(19), "GROSS WEIGHT
V_NTGEW LIKE ZSDPACKINFO_V1-NTGEW, "Net Weight
V_CTN1 LIKE ZSDPACKINFO_V1-ZU_CTN_NUM, "CARTON NUMBER
NTGEW1(30),
V_DIM(15), "CARTON DIMENSION
ADRNR LIKE KNA1-ADRNR,
BSTKD LIKE VBKD-BSTKD, "CUST PO
MATNR LIKE LIPS-MATNR, "MATERIAL
WERKS LIKE LIPS-WERKS, "PLANT
V_QTY3 LIKE LIPS-LFIMG,
V_QTY LIKE LIPS-LFIMG,
V_QTY4 LIKE LIPS-LFIMG,
V_QTY5(30),
V_CTN(4),
V_TOTCTN(4),
NTGEW LIKE ZSDPACKINFO_V1-NTGEW,
SHPN(35), "Customer Name
KUNNR LIKE LIKP-KUNNR, " Ship-to-Party
END OF S_DATA.
DATA: HOST LIKE ZFTP-HOST,
USERNAME LIKE ZFTP-USERNAME,
PWD(100) TYPE C,
PRGNAME LIKE ZFTP-PRGNAME,
RDIRLOC LIKE ZFTP-RDIRLOC,
LDIRLOC LIKE ZFTP-RDIRLOC,
HANDLE TYPE I,
FNAME(40) TYPE C,
FAILED(1) TYPE C.
DATA: L_OK(1) TYPE C,
L_ERRMSG(150) TYPE C.
DATA : T_ZMMGRINFO LIKE ZMMGRINFO OCCURS 0 WITH HEADER LINE.
DATA:T_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE,
VBELN LIKE THEAD-TDNAME.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS :
S_KUNAG FOR LIKP-KUNAG DEFAULT 'BC1001'.
PARAMETERS : S_WADAT LIKE LIKP-WADAT_IST DEFAULT SY-DATUM.
PARAMETERS: S_UPLOAD AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM WRITE_DATA.
PERFORM DOWN_DATA.
&----
*& Form GET_DETAILS
&----
FORM GET_DATA .
SELECT LIKP~VBELN
LIPS~POSNR
LIKP~WADAT_IST
LIKP~KUNNR
LIKP~KUNAG
KNA1~NAME1
KNA1~ADRNR
VBKD~BSTKD
LIPS~MATNR
LIPS~CHARG
LIPS~LFIMG
LIPS~WERKS
LIPS~VGBEL
LIPS~ARKTX
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM LIKP
JOIN LIPS ON LIKPVBELN = LIPSVBELN
JOIN VBKD ON LIPSVGBEL = VBKDVBELN
JOIN KNA1 ON KNA1KUNNR = LIKPKUNNR
WHERE LIPS~LFIMG GT 0 AND
LIKP~KUNAG IN S_KUNAG AND
LIKP~WADAT_IST = S_WADAT
ORDER BY LIKP~WADAT_IST
LIKP~VBELN.
LOOP AT ITAB.
CALL FUNCTION 'Z_GET_CHAR_VAL'
EXPORTING
WERKS = ITAB-WERKS
MATNR = ITAB-MATNR
CHARG = ITAB-CHARG
IMPORTING
ZMMGRINFO = T_ZMMGRINFO
EXCEPTIONS
INVALID_COMBINATION = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ITAB-ZCUST_LOTID = T_ZMMGRINFO-ZCUST_LOTID.
ITAB-ZDATECODE = T_ZMMGRINFO-ZDATECODE.
ITAB-ZU_COO = T_ZMMGRINFO-ZU_COO.
VBELN = ITAB-VBELN.
*Extracting the Flight Number
PERFORM READ_TEXT USING 'Z006' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-FLNO.
Extracting the MAWB Number
PERFORM READ_TEXT USING 'Z007' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-MAWB.
Extracting the HAWB Number
PERFORM READ_TEXT USING 'Z008' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-HAWB.
Extracting the Carton Dimension
PERFORM READ_TEXT USING 'Z013' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-V_DIM.
CONCATENATE ITAB-V_DIM 'CM' INTO ITAB-V_DIM SEPARATED BY SPACE.
PERFORM READ_TEXT USING 'Z015' 'E' VBELN 'VBBK'.
DELETE T_LINE WHERE TDLINE = SPACE.
IF NOT T_LINE[] IS INITIAL.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-CUSO.
ENDIF.
Customer PartNumber
PERFORM READ_TEXT USING 'Z017' 'E' VBELN 'VBBK'.
LOOP AT T_LINE.
MOVE : T_LINE-TDLINE TO ITAB-CUIN.
ENDLOOP.
Extracting the Gross Weight
PERFORM READ_TEXT USING 'Z022' 'E' VBELN 'VBBK'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-V_BTGEW.
*Qyantity in DO
PERFORM READ_TEXT USING 'Z015' 'E' VBELN 'VBBP'.
READ TABLE T_LINE INDEX 1.
MOVE T_LINE-TDLINE TO ITAB-V_QTY.
*UTAC PO NUMBER AND DO NUMBER
MOVE ITAB-VBELN TO ITAB-VBELN1.
*FARWORDER NAME
SELECT SINGLE LIFNR INTO ITAB-LIFNR FROM VBPA
WHERE VBELN = ITAB-VBELN AND PARVW = 'ZF'.
SELECT SINGLE NAME1 INTO ITAB-FNAM FROM LFA1
WHERE LIFNR = ITAB-LIFNR.
CONDENSE ITAB-FNAM.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = ITAB-KUNAG.
IF SY-SUBRC = 0.
ITAB-KUNNR = KNA1-KUNNR.
ENDIF.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = ITAB-KUNNR.
IF SY-SUBRC = 0.
SELECT SINGLE * FROM ADRC WHERE ADDRNUMBER = KNA1-ADRNR.
ITAB-SHPN = ADRC-NAME1.
ENDIF.
SELECT SINGLE * FROM T005T
WHERE LAND1 = ITAB-ZU_COO AND
SPRAS = SY-LANGU.
IF SY-SUBRC EQ 0.
V_COUNTRY_TEXT = T005T-LANDX.
ELSE.
CLEAR V_COUNTRY_TEXT.
ENDIF.
MOVE ITAB-LFIMG TO ITAB-V_QTY1.
TRANSLATE ITAB-V_QTY1 USING ','.
CONDENSE ITAB-V_QTY1 NO-GAPS.
MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.
ENDFORM. " GET_DETAILS
***&----
*-
***
***& Form READ_TEXT
*&----
*
Reading the text
*----
*
FORM READ_TEXT USING P_ID LIKE THEAD-TDID
P_LAN LIKE THEAD-TDSPRAS
P_NAME LIKE THEAD-TDNAME
P_OBJ LIKE THEAD-TDOBJECT.
REFRESH T_LINE. CLEAR T_LINE.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = P_ID
LANGUAGE = P_LAN
NAME = P_NAME
OBJECT = P_OBJ
TABLES
LINES = T_LINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
ENDFORM. " READ_TEXT
*&----
*
*& Form WRITE_DATA
*&----
*
text
*----
*
FORM WRITE_DATA.
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO ITAB1.
AT NEW VBELN .
WRITE :/1 'ORDER'.
WRITE : 6 SY-VLINE.
WRITE : 7 ITAB1-CUSO LEFT-JUSTIFIED.
WRITE : 17 SY-VLINE.
WRITE : 18 ITAB1-CUIN LEFT-JUSTIFIED.
WRITE : 24 SY-VLINE.
WRITE : 25 ITAB1-ARKTX LEFT-JUSTIFIED.
WRITE : 43 SY-VLINE.
LOOP AT ITAB WHERE VBELN = ITAB1-VBELN.
L_LFIMG = L_LFIMG + ITAB-LFIMG.
ENDLOOP.
WRITE : 44 L_LFIMG NO-GROUPING LEFT-JUSTIFIED.
WRITE : 54 SY-VLINE.
WRITE : 55 ITAB1-WADAT_IST LEFT-JUSTIFIED.
WRITE: 65 SY-VLINE.
WRITE : 66 ITAB1-VBELN LEFT-JUSTIFIED.
WRITE: 76 SY-VLINE.
WRITE : 77 ITAB1-VBELN1 LEFT-JUSTIFIED.
WRITE : 87 SY-VLINE.
WRITE : 88 ITAB1-NAME1 LEFT-JUSTIFIED. .
WRITE : 123 SY-VLINE.
WRITE : 124 ITAB1-SHPN LEFT-JUSTIFIED.
WRITE : 159 SY-VLINE.
WRITE : 160 ITAB1-FNAM LEFT-JUSTIFIED.
WRITE : 204 SY-VLINE.
IF ITAB1-HAWB <> ''.
WRITE : 205 ITAB1-HAWB LEFT-JUSTIFIED.
ELSE.
WRITE : 205 ITAB1-MAWB LEFT-JUSTIFIED.
ENDIF.
WRITE : 245 SY-VLINE.
WRITE : 246 ITAB1-FLNO LEFT-JUSTIFIED.
WRITE : 266 SY-VLINE.
CLEAR L_LFIMG.
ENDAT.
SELECT * FROM ZSDPACKINFO_V1 WHERE VBELN = ITAB-VBELN AND
ZU_CTN_NUM NE '' AND ZU_LCHARG = ITAB-CHARG.
MOVE ZSDPACKINFO_V1-LFIMG TO ITAB-V_QTY2.
MOVE ZSDPACKINFO_V1-NTGEW TO ITAB-NTGEW.
MOVE ZSDPACKINFO_V1-NTGEW TO ITAB-NTGEW1.
MOVE ZSDPACKINFO_V1-ZU_CTN_NUM+6(4) TO ITAB-V_CTN.
TRANSLATE ITAB-V_QTY2 USING ', '.
CONDENSE ITAB-V_QTY2 NO-GAPS.
MOVE-CORRESPONDING ITAB TO S_DATA.
S_DATA-V_QTY4 = ITAB-V_QTY2.
CLEAR S_DATA-V_QTY2.
COLLECT S_DATA.
ENDSELECT.
LOOP AT S_DATA.
WRITE :/1'LOT'.
WRITE : 4 SY-VLINE.
WRITE : 5 S_DATA-CUSO LEFT-JUSTIFIED.
WRITE : 15 SY-VLINE.
WRITE : 16 S_DATA-CUIN LEFT-JUSTIFIED.
WRITE : 23 SY-VLINE.
WRITE : 24 S_DATA-ZCUST_LOTID LEFT-JUSTIFIED.
WRITE : 35 SY-VLINE.
WRITE : 36 S_DATA-CHARG LEFT-JUSTIFIED.
WRITE : 46 SY-VLINE.
WRITE : 47 S_DATA-V_QTY4 NO-GROUPING LEFT-JUSTIFIED .
WRITE : 57 SY-VLINE.
WRITE : 58 S_DATA-ZDATECODE LEFT-JUSTIFIED.
WRITE : 62 SY-VLINE.
WRITE : 63 V_COUNTRY_TEXT LEFT-JUSTIFIED.
WRITE : 75 SY-VLINE.
WRITE : 76 S_DATA-V_BTGEW LEFT-JUSTIFIED.
WRITE : 83 SY-VLINE.
L_NTGEW = S_DATA-NTGEW1.
WRITE : 84 L_NTGEW LEFT-JUSTIFIED.
WRITE : 94 SY-VLINE.
WRITE : 95 S_DATA-V_CTN LEFT-JUSTIFIED.
WRITE : 99 SY-VLINE.
WRITE : 100 S_DATA-V_DIM LEFT-JUSTIFIED.
WRITE : 115 SY-VLINE.
ENDLOOP.
REFRESH S_DATA.
ENDLOOP.
ENDFORM.
&----
*& Form DOWN_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM DOWN_DATA.
DATA : P_FILE(128) TYPE C.
DATA: P_FNAME(100).
data abap_list like abaplist occurs 1.
DATA : BEGIN OF IFILE OCCURS 0,
TEXT(1023) TYPE C,
END OF IFILE.
PRGNAME = SY-CPROG.
CONCATENATE '/home/sapifc/custrept/' 'IDT_' SY-DATUM '_' '2245' '.txt' INTO P_FILE.
call function 'LIST_TO_ASCI'
exporting
list_index = sy-lsind
tables
listasci = IFILE
listobject = abap_list
exceptions
empty_list = 1
list_index_invalid = 2
others = 3.
if sy-subrc <> 0.
endif.
OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC = 0.
LOOP AT IFILE.
TRANSFER IFILE TO P_FILE.
ENDLOOP.
ENDIF.
CLOSE DATASET P_FILE.
ENDFORM.
2007 Sep 27 4:01 AM
hi
good
if you r running the program in background than your line size should not exceed 250.Change your line size and see the difference.
reward point if helpful.
thanks
mrutyun^
2007 Sep 27 4:12 AM
HI,
The width of spool can be of max. 255 size.
In your case, you are displaying data at 266 also (THe WRITE statement).
Try to fit all the columns within 255 width.
Best regards,
Prashant