‎2008 May 26 12:43 PM
&----
*& *
*& Purpose : Daily Godown dispatches with condition valu details *
&----
REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
MESSAGE-ID SK .
TYPE-POOLS: SLIS,ABAP.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
TABLES : VBRK, "Billing document header detail
VBRP, "Billing document item details
MAKT, "Material Description
BHDGD,
MARA, "Material Master
KNA1, "Customer Master Table
TSPA,
J_1IEXCHDR.
DATA: TAB TYPE REF TO CL_ABAP_STRUCTDESCR,
WA_TAB TYPE REF TO CL_ABAP_STRUCTDESCR,
I_TAB TYPE REF TO CL_ABAP_TABLEDESCR,
I_TABLE TYPE REF TO DATA.
DATA: L_PROGRAM_NAME TYPE SYREPID VALUE SY-REPID,
L_STRUCTURE_NAME TYPE TABNAME,
L_I_CT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: BEGIN OF FIELDTAB OCCURS 50,
FELDNAME LIKE DYNPREAD-FIELDNAME,
FIELDTEXT LIKE DNTAB-FIELDTEXT,
END OF FIELDTAB.
DATA: BEGIN OF CHOICE_TAB_IN OCCURS 50,
FIELDTEXT LIKE DNTAB-FIELDTEXT, "Position 1
FIELDNAME LIKE DYNPREAD-FIELDNAME,
TABNAME LIKE DNTAB-TABNAME,
FIELD LIKE DNTAB-FIELDNAME,
END OF CHOICE_TAB_IN.
FIELD-SYMBOLS: <DATAIN> TYPE ANY,
<HEADER> TYPE ANY,
<F> TYPE ANY.
FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
<DYN_WA>,
<DYN_FIELD>.
DATA: DY_TABLE TYPE REF TO DATA,
DY_LINE TYPE REF TO DATA,
XFC TYPE LVC_S_FCAT,
IFC TYPE LVC_T_FCAT,
DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
DATA: DATA_TAB LIKE ZHRDATATAB OCCURS 20 WITH HEADER LINE.
DATA: BEGIN OF DATEN OCCURS 100,
ZEILE TYPE I,
STELLE TYPE I,
DATEN LIKE HRDATATAB-LANGTEXT1,
END OF DATEN.
DATA: BEGIN OF TITEL OCCURS 20,
STELLE TYPE I,
FELDNAME LIKE DYNPREAD-FIELDNAME,
LANGTEXT LIKE HRDATATAB-LANGTEXT1,
TABNAME LIKE DNTAB-TABNAME,
FIELD LIKE DNTAB-FIELDNAME,
END OF TITEL.
DATA : STELLE TYPE I.
DATA: ZEILE TYPE I.
*vibhuti
DATA: IT_COLOR TYPE LVC_S_SCOL." with header line.
DATA: MY_TABIX LIKE SY-TABIX.
DATA: I_VBRK LIKE VBRK OCCURS 0 WITH HEADER LINE.
DATA: G_CL_TEXT TYPE REF TO CL_HR_TEXT_IDENTIFIER,
G_T_TEXTINFO_INFTY TYPE TXID_T_TEXT_IDENTIFIER_RESULT,
G_T_TEXTINFO_ALL TYPE TXID_T_TEXT_IDENTIFIER_RESULT,
G_T_TEXTFIELDS_INFTY TYPE TTFIELDNAME,
G_T_TEXTS_INFTY TYPE TXID_T_TEXT_IDENTIFIER_RESULT,
G_T_TEXTS_ALL TYPE TXID_T_TEXT_IDENTIFIER_RESULT,
G_S_TEXTINFO TYPE TXID_S_TEXT_IDENTIFIER_RESULT,
G_S_TEXT TYPE TXID_S_TEXT_IDENTIFIER_RESULT,
G_T_SPECIALS TYPE TFIELDVAL,
G_S_SPECIALS TYPE SFIELDVAL.
DATA : G_T_TEXTFIELDS TYPE TTFIELDNAME.
Selection Screen Started
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
S_SPART FOR VBRK-SPART OBLIGATORY,
S_VBELN FOR VBRK-VBELN,
S_KUNAG FOR VBRK-KUNAG,
S_FKART FOR VBRK-FKART,
S_WERKS FOR VBRP-WERKS," obligatory,
S_VKBUR FOR VBRP-VKBUR,
S_VKORG FOR VBRK-VKORG OBLIGATORY,
S_VKGRP FOR VBRP-VKGRP, " sales group
S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
SELECTION-SCREEN END OF BLOCK B_1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B_2.
START-OF-SELECTION.
PERFORM GET_FIELDS.
PERFORM NEW_DYNAMIC_TABLE.
PERFORM GENERATE_OUTPUT.
&----
*& Form NEW_DYNAMIC_TABLE
&----
text
----
--> p1 text
<-- p2 text
----
FORM NEW_DYNAMIC_TABLE .
SORT CHOICE_TAB_IN BY FIELDTEXT AS TEXT ASCENDING.
DESCRIBE TABLE CHOICE_TAB_IN LINES SY-TFILL.
LOOP AT CHOICE_TAB_IN.
MY_TABIX = SY-TABIX.
TITEL-FELDNAME = CHOICE_TAB_IN-FIELDNAME.
TITEL-LANGTEXT = CHOICE_TAB_IN-FIELDTEXT.
TITEL-TABNAME = CHOICE_TAB_IN-TABNAME.
TITEL-FIELD = CHOICE_TAB_IN-FIELD.
TITEL-STELLE = STELLE.
APPEND TITEL.
STELLE = STELLE + 1.
ENDLOOP.
LOOP AT TITEL.
APPEND TITEL-FIELD TO G_T_TEXTFIELDS.
ENDLOOP.
LOOP AT TITEL.
MOVE-CORRESPONDING TITEL TO DATEN.
CLEAR DATEN-DATEN.
ASSIGN (TITEL-FELDNAME) TO <DATAIN>.
PERFORM GET_BILLING_HEADER.
ENDLOOP.
data : IFC TYPE LVC_T_FCAT.
APPEND titel TO IFC.
*
Create dynamic internal table and assign to FS
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IFC
IMPORTING
EP_TABLE = DY_TABLE.
*
ASSIGN DY_TABLE->* TO <DYN_TABLE>.
*
Create dynamic work area and assign to FS
CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
ASSIGN DY_LINE->* TO <DYN_WA>.
PERFORM ASSIGN_VALUES-SELECTED.
ENDFORM. " NEW_DYNAMIC_TABLE
&----
*& Form GET_FIELDS
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_FIELDS .
FIELDTAB-FELDNAME = 'VBRK-VBELN'.
FIELDTAB-FIELDTEXT = 'Billing Doc.'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'VBELN'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-FKART'.
FIELDTAB-FIELDTEXT = 'Billing Type'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'FKART'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-VBTYP'.
FIELDTAB-FIELDTEXT = 'Doc. Type'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'VBTYP'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-KNUMV'.
FIELDTAB-FIELDTEXT = 'Doc. Condition'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'KNUMV'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-FKDAT'.
FIELDTAB-FIELDTEXT = 'Billing Date'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'FKDAT'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-KUNRG'.
FIELDTAB-FIELDTEXT = 'Payer'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'KUNRG'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-KUNAG'.
FIELDTAB-FIELDTEXT = 'Sold-to party'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'KUNAG'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-SFAKN'.
FIELDTAB-FIELDTEXT = 'Cancel Billing Doc.'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'SFAKN'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRK-FKSTO'.
FIELDTAB-FIELDTEXT = 'Billing Doc. Cust No.'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRK'.
CHOICE_TAB_IN-FIELD = 'FKSTO'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'VBRP-MATNR'.
FIELDTAB-FIELDTEXT = 'Material No.'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'VBRP'.
CHOICE_TAB_IN-FIELD = 'MATNR'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'J_1IEXCDTL-EXNUM'.
FIELDTAB-FIELDTEXT = 'Excise Invoice'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'J_1IEXCDTL'.
CHOICE_TAB_IN-FIELD = 'EXNUM'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'KONV-KSCHL'.
FIELDTAB-FIELDTEXT = 'TAX'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'KONV'.
CHOICE_TAB_IN-FIELD = 'KSCHL'.
APPEND CHOICE_TAB_IN.
FIELDTAB-FELDNAME = 'KONV-KWERT'.
FIELDTAB-FIELDTEXT = 'PRICE'.
APPEND FIELDTAB.
CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.
CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.
CHOICE_TAB_IN-TABNAME = 'KONV'.
CHOICE_TAB_IN-FIELD = 'KWERT'.
APPEND CHOICE_TAB_IN.
ENDFORM. " GET_FIELDS
&----
*& Form GENERATE_OUTPUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM GENERATE_OUTPUT .
ENDFORM. " GENERATE_OUTPUT
&----
*& Form GET_BILLING_HEADER
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_BILLING_HEADER .
SELECT * INTO CORRESPONDING FIELDS OF TABLE i_VBRK
FROM VBRK
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
LOOP AT VBRK.
ASSIGN I_VBRK TO <HEADER>.
ASSIGN I_VBRK TO <F>.
CASE TITEL-FELDNAME.
WHEN OTHERS.
READ TABLE G_T_TEXTS_ALL
WITH KEY TABNAME = TITEL-TABNAME
FIELDNAME = TITEL-FIELD
INTO G_S_TEXT.
DATEN-DATEN = <HEADER>.
DATEN-DATEN = <DATAIN>.
MOVE-CORRESPONDING TITEL TO DATEN.
CLEAR DATEN-DATEN.
ASSIGN (TITEL-FELDNAME) TO <HEADER>.
DATEN-DATEN = <HEADER>.
ENDCASE.
DATEN-ZEILE = ZEILE.
APPEND DATEN.
ENDLOOP.
ENDFORM. " GET_BILLING_HEADER
This is not properly working.Culd u suggest wht can be the reason
‎2008 May 26 12:54 PM
What do you mean by not working properly? whats the exact problem?
‎2008 May 26 12:52 PM
Hi,
Do you get a short dump If so , just paste the short here!
Regards
Naren
‎2008 May 26 12:54 PM
What do you mean by not working properly? whats the exact problem?
‎2008 May 26 1:25 PM
LOOP AT i_VBRK.
ASSIGN I_VBRK TO <HEADER>.
CASE TITEL-FELDNAME.
WHEN OTHERS.
MOVE-CORRESPONDING TITEL TO DATEN.
CLEAR DATEN-DATEN.
ASSIGN (TITEL-FELDNAME) TO <HEADER>.
DATEN-DATEN = <HEADER>.
ENDCASE.
DATEN-ZEILE = ZEILE.
APPEND DATEN.
ENDLOOP.
WHEN I'M ASSIGING VALUES TO MY <HEADER> VALUES ARE COMING BLANK.
how to assign values