You are on page 1of 7

Page 1 of 7

*&---------------------------------------------------------------------*
*& Report  ZSD_DELIVERY_CHALLAN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~*&
*&--------------------------------------------------------------------*&
*&  Program Name       : ZSD_DELIVERY_CHALLAN                         *&
*&  Transaction Code   : VL03N                                         *&
*&  Module             : SD                                           *&
*&  Package            : ZABAP                                        *&
*&  Developed By       : SUDARSHAN GAIKWAD                            *&
*&  Transport Req      : SRDK900931                                   *&
*&  Program Type       : 1 - Executable                               *&
*&--------------------------------------------------------------------*&
*&  Object             : This is the Delivery Challan                 *&
*&                              program.                              *&
*&                                                                    *&
*&--------------------------------------------------------------------*&
*&'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~'~*&
* form name ZSD_DELIVERY_CHALLAN

*------------------------------------------------------------------*
* Change History
*------------------------------------------------------------------*
*     Date   |   Programmer   |   Corr. #   |   Description
*            |                |             |
*            |                |             |
********************************************************************

REPORT  zsd_delivery_challan.
******************************************************************* Tables Declaration
TABLES : likp, "SD Document: Delivery Header Data
         lips, "SD Document: Delivery Item Data
         vbpa, "Sales Document: Partner
         adrc, "Addresses (Business Address Services)
         t173, "Routes: Mode of Transport for Each Shipping Type
         tnapr, "Processing programs for output
         kna1, "General Data in Customer Master
         nast, "Message Status
         ausp, "Characteristic Values
         cawn, "Characteristic values
         cawnt , "Value Texts
         vbrp, "Billing Document: Item Data
         vekp,
         vepo,
         vbak.

************************************************************************
*     DATA DECLARATION
************************************************************************

DATA: it_out LIKE zsd_delivery_challan OCCURS 0 WITH HEADER LINE.
DATA: it_item LIKE zsd_delivery_challan_item OCCURS 0 WITH HEADER LINE.
DATA : sfname  TYPE tdsfname.

DATA: title(40).

DATA: it_likp  LIKE likp  OCCURS 0 WITH HEADER LINE,
      it_lips  LIKE lips  OCCURS 0 WITH HEADER LINE,
      it_vbpa  LIKE vbpa  OCCURS 0 WITH HEADER LINE,
      it_kna1  LIKE kna1  OCCURS 0 WITH HEADER LINE,
      it_vbrp  LIKE vbrp  OCCURS 0 WITH HEADER LINE,
      it_t001w LIKE t001w OCCURS 0 WITH HEADER LINE,
      it_adrc  LIKE adrc  OCCURS 0 WITH HEADER LINE,
      it_vekp  LIKE vekp  OCCURS 0 WITH HEADER LINE,
      it_vepo  LIKE vepo  OCCURS 0 WITH HEADER LINE.

TYPES: BEGIN OF ty_plant,

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022


Page 2 of 7

       werks TYPE t001w-werks,
       name1 TYPE t001w-name1,
       adrnr TYPE t001w-adrnr,
END OF ty_plant.

TYPES: BEGIN OF ty_gstin,
        kunnr TYPE kna1-kunnr,
        land1 TYPE kna1-land1,
        regio TYPE kna1-regio,
        stcd3 TYPE kna1-stcd3,
END OF ty_gstin.

DATA : wa_state TYPE t005u.

DATA : wa_gstin  TYPE ty_gstin.
DATA : wa_gstin1 TYPE ty_gstin.

DATA : it_plant TYPE TABLE OF ty_plant,
       wa_plant TYPE          ty_plant.

DATA : fname TYPE  rs38l_fnam .
DATA:  transport LIKE tline-tdline,
       ven_code LIKE tline-tdline.

DATA : v_ttl_weight LIKE vekp-brgew,
       v_temp_wt LIKE vekp-brgew,
c TYPE i.

DATA:  p_vbeln LIKE likp-vbeln.

DATA : line LIKE tline OCCURS 10 WITH HEADER LINE,
       transporter LIKE line-tdline.

DATA: string1 TYPE string.

************************************************************************
*           SELECTION-SCREEN
************************************************************************

**********************************************************
*SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-100.
*SELECT-OPTIONS :   p_vbeln FOR likp-vbeln NO INTERVALS NO-EXTENSION.
*SELECTION-SCREEN   END OF BLOCK b1.
*SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME title text-101.
*PARAMETERS       : DELIVERY RADIOBUTTON GROUP RB,
*                   RET_DEL RADIOBUTTON GROUP RB.
*SELECTION-SCREEN   END OF BLOCK B2.
***********************************************************

************************************************************************
*           START-OF-SELECTION.
************************************************************************
FORM entry USING return_code us_screen.

  p_vbeln = nast-objky.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input  = p_vbeln
IMPORTING
output = p_vbeln.

PERFORM initialization.

PERFORM header_data.

PERFORM item_data.

PERFORM display.

ENDFORM.                    "ENTRY
*&---------------------------------------------------------------------*
*&      Form  INITIALIZATION.

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022


Page 3 of 7

*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*

FORM initialization.

CLEAR it_likp.
CLEAR it_lips.
CLEAR it_vbpa.
CLEAR it_kna1.
CLEAR it_out.
CLEAR it_likp[].
CLEAR it_lips[].
CLEAR it_vbpa[].
CLEAR it_kna1[].
CLEAR it_out[].

ENDFORM.                    "INITIALIZATION

*&---------------------------------------------------------------------*
*&      Form  DELIVERY_CHALLAN
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM header_data.

SELECT * FROM likp
INTO TABLE it_likp
WHERE vbeln = p_vbeln.

LOOP AT it_likp WHERE  vbeln = p_vbeln.
    it_out-vbeln = it_likp-vbeln.   "D.C NO
    it_out-bldat = it_likp-bldat.   "D.C.DATE
    it_out-kunnr = it_likp-kunnr.   "CUSTOMER NO
    it_out-btgew = it_likp-btgew.
    it_out-anzpk = it_likp-anzpk.
    it_out-gewei = it_likp-gewei.
*  IT_OUT-WERKS = IT_LIKP-WERKS.   "PLANT

CLEAR wa_gstin.
SELECT SINGLE kunnr
                  land1
                  regio
                  stcd3
FROM kna1
INTO wa_gstin
WHERE kunnr  = it_likp-kunnr.
IF sy-subrc = 0.
      it_out-kunnr_gstin = wa_gstin-stcd3.

CLEAR wa_state.
SELECT SINGLE *
FROM t005u
INTO wa_state
WHERE spras = sy-langu
AND   land1 = wa_gstin-land1
AND   bland  = wa_gstin-regio.
IF sy-subrc = 0.
        it_out-kunnr_state = wa_state-bezei.
ENDIF.
ENDIF.

CLEAR wa_gstin1.
SELECT SINGLE kunnr
                  land1
                  regio

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022


Page 4 of 7

                  stcd3
FROM kna1
INTO wa_gstin1
WHERE kunnr  = it_likp-kunag.
IF sy-subrc = 0.
      it_out-kunag_gstin = wa_gstin1-stcd3.
CLEAR wa_state.
SELECT SINGLE *
FROM t005u
INTO wa_state
WHERE spras = sy-langu
AND   land1 = wa_gstin-land1
AND   bland  = wa_gstin-regio.
IF sy-subrc = 0.
        it_out-kunag_state = wa_state-bezei.
ENDIF.
ENDIF.
APPEND it_out.
ENDLOOP.

LOOP AT it_out.
SELECT SINGLE aubel werks               "FOR SALES ORDER NUMBER
FROM vbrp
INTO (it_out-aubel,it_out-werks)
WHERE vgbel = it_out-vbeln.

SELECT SINGLE bstkd bstdk             "FOR PO NO AND PO DATE
FROM vbkd
INTO (it_out-bstkd,it_out-bstdk)
WHERE vbeln = it_out-aubel.

SELECT SINGLE  j_1icstno  j_1ilstno j_1iexcd j_1ipanno             " CST Number, LST Number, Ecc no
FROM j_1imocust
INTO (it_out-j_1icstno,it_out-j_1ilstno,it_out-j_1iexcd,it_out-j_1ipanno)
WHERE kunnr = it_likp-kunnr.

SELECT SINGLE stceg adrnr
FROM kna1
INTO (it_out-stceg,it_out-adrnr)
WHERE kunnr = it_out-kunnr.

SELECT SINGLE name1 street city1 post_code1 country
FROM adrc
INTO (it_out-cname1,it_out-cstreet,it_out-ccity1,it_out-cpost_code1,it_out-ccountry)
WHERE addrnumber = it_out-adrnr.

MODIFY it_out.
ENDLOOP.
ENDFORM.                    " DELIVERY_CHALLAN

*&---------------------------------------------------------------------*
*&      Form  ITEM_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM item_data .
SELECT *
FROM lips
INTO TABLE it_lips
WHERE vbeln = it_out-vbeln.

SELECT * " by manoj
FROM vekp
INTO TABLE it_vekp
WHERE vpobjkey = p_vbeln.

SELECT * " by manoj
FROM vepo
INTO TABLE it_vepo
WHERE matnr = it_out-matnr.

LOOP AT it_lips WHERE vbeln = it_out-vbeln.

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022


Page 5 of 7

    it_item-matnr = it_lips-matnr.     " Material No.
    it_item-posnr = it_lips-posnr.
    it_item-vgpos = it_lips-vgpos.
    it_item-charg = it_lips-charg.     " Batch No.
    it_item-ormng = it_lips-ormng.     "
    it_item-ntgew = it_lips-ntgew.
    it_item-brgew = it_lips-brgew.
    it_item-vrkme = it_lips-vrkme.
    it_item-arktx = it_lips-arktx.     " Description of goods.
    it_item-kdmat = it_lips-kdmat.     " Material Description.
    it_item-vbeln = it_lips-vbeln.     " Delivery Order No.
    it_item-lfimg = it_lips-lfimg.
    it_item-vgbel = it_lips-vgbel.

APPEND it_item.
CLEAR it_item.
ENDLOOP.

SELECT werks
         name1
         adrnr
FROM t001w
INTO TABLE it_plant
FOR ALL ENTRIES IN it_lips
WHERE werks = it_lips-werks.

LOOP AT it_item WHERE vbeln = p_vbeln.
*LOOP AT IT_VEKP WHERE VPOBJKEY IN p_vbeln.

*         LOOP AT IT_VEKP WHERE VPOBJKEY IN P_VBELN.
*                SELECT SINGLE  EXIDV BRGEW             " Box/Packing No., TOTAL PCKG WEIGHT
*                       FROM VEKP
*                       INTO (IT_ITEM-EXIDV, IT_ITEM-BRGEW)
*                       WHERE vpobjkey IN P_VBELN.
*                       ENDSELECT .
READ TABLE it_vekp  INDEX sy-tabix."C."vekp."ITEM ."INDEX 1.
IF sy-tabix = 0.
EXIT.
ELSE.
      it_item-exidv = it_vekp-exidv.
      it_item-brgew = it_vekp-brgew .
ENDIF.
*c = sy-tabix.
*      ENDLOOP.

    v_temp_wt = v_temp_wt + it_item-brgew.
*      V_TTL_WEIGHT = V_TEMP_WT.
MOVE v_temp_wt TO it_item-v_ttl_weight.

SELECT SINGLE bstnk
FROM vbak
INTO it_item-bstnk
WHERE vbeln = it_item-vgbel.

MODIFY it_item.
CLEAR it_item.
ENDLOOP.

LOOP AT it_out.
READ TABLE it_plant INTO wa_plant INDEX 1.
IF sy-subrc = 0.
      it_out-werks = wa_plant-werks.
      it_out-plant_add = wa_plant-adrnr.
MODIFY it_out.
*    CLEAR it_out.
ENDIF.
ENDLOOP.

PERFORM read_text.
ENDFORM.                    " ITEM_DATA
*&---------------------------------------------------------------------*
*&      Form  DISPLAY
*&---------------------------------------------------------------------*

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022


Page 6 of 7

*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display .

SELECT SINGLE sform
INTO sfname
FROM     tnapr
WHERE    kschl = 'LD00'
AND      nacha = '1'
AND      kappl = 'V2'.

*/1BCDWB/SF00000013
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
      formname           = sfname"'ZSD_DELIVERY_CHALLAN'
*     formname           = 'ZSD_DELIVERY_CHALLAN_TEST' "'ZSD_DELIVERY_CHALLAN'
IMPORTING
      fm_name            = fname
EXCEPTIONS
      no_form            = 1
      no_function_module = 2
OTHERS             = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

CALL FUNCTION fname
EXPORTING
*   ARCHIVE_INDEX              =
*   ARCHIVE_INDEX_TAB          =
*   ARCHIVE_PARAMETERS         =
*   CONTROL_PARAMETERS         =
*   MAIL_APPL_OBJ              =
*   MAIL_RECIPIENT             =
*   MAIL_SENDER                =
*   OUTPUT_OPTIONS             =
*   USER_SETTINGS              = 'X'
      v_temp_wt                  = v_temp_wt
* IMPORTING
*   DOCUMENT_OUTPUT_INFO       =
*   JOB_OUTPUT_INFO            =
*   JOB_OUTPUT_OPTIONS         =
TABLES
      it_out                     = it_out
      it_item                    = it_item
* EXCEPTIONS
*   FORMATTING_ERROR           = 1
*   INTERNAL_ERROR             = 2
*   SEND_ERROR                 = 3
*   USER_CANCELED              = 4
*   OTHERS                     = 5
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM.                    "display

*&---------------------------------------------------------------------*
*&      Form  READ_TEXT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM read_text .

DATA : name LIKE stxh-tdname.

LOOP AT it_item.

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022


Page 7 of 7

CONCATENATE it_item-vbeln it_item-posnr INTO string1.

    name = string1.

SELECT COUNT( * ) FROM stxh
WHERE tdobject = 'VBBP'
AND   tdname   = name
AND   tdid     = '0003'
AND   tdspras  = 'EN'.

IF sy-subrc = 0.
CALL FUNCTION 'READ_TEXT'
EXPORTING
*    CLIENT                        = SY-MANDT
id                            = '0003'         " NO OF PACKAGES
language                      = 'E'
          name                          = name
          object                        = 'VBBP'
*    ARCHIVE_HANDLE                = 0
*    LOCAL_CAT                     = ' '
*  IMPORTING
*    HEADER                        =
TABLES
lines                         = line
EXCEPTIONS
id                            = 1
language                      = 2
         name                          = 3
         not_found                     = 4
         object                        = 5
         reference_check               = 6
         wrong_access_to_archive       = 7
OTHERS                        = 8
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
LOOP AT line WHERE tdline <> ''.
      it_item-boxpack = line-tdline.
ENDLOOP.
MODIFY it_item.
CLEAR name.
CLEAR it_item.
REFRESH line.
CLEAR line.

ENDLOOP.
ENDFORM.                    "READ_TEXT

mhtml:file://D:\Backup\SF\Program Source Code\Smart Forms\Delivery Challan\Deliver... 09-12-2022

You might also like