Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Report Program

Former Member
0 Likes
502

Can anybody send me a sample report program which is used by a BAPI and FUNCTIONAL MODULE.

I wants see how to implement BAPI in a report program..

Regards,

pandu.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
464

Hi,

check this sample program using the BAPI to create sales order..


PARAMETERS: p_auart TYPE auart OBLIGATORY.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
PARAMETERS: p_spart TYPE vtweg OBLIGATORY.

PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.

*ITEM
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
PARAMETERS: p_itcat TYPE pstyv   OBLIGATORY.

* DATA DECLARATIONS.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item    LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx   LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.
DATA: return  LIKE bapiret2    OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx
                         WITH HEADER LINE.
DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl
                         WITH HEADER LINE.

* HEADER DATA
header-doc_type = p_auart.
headerx-doc_type = 'X'.

header-sales_org = p_vkorg.
headerx-sales_org = 'X'.

header-distr_chan  = p_vtweg.
headerx-distr_chan = 'X'.

header-division = p_spart.
headerx-division = 'X'.

headerx-updateflag = 'I'.

* PARTNER DATA
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.

partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.

* ITEM DATA
itemx-updateflag = 'I'.

item-itm_number = '000010'.
itemx-itm_number = 'X'.


item-material = p_matnr.
itemx-material = 'X'.

item-plant    = p_plant.
itemx-plant   = 'X'.

item-target_qty = p_menge.
itemx-target_qty = 'X'.

item-target_qu = 'EA'.
itemx-target_qu = 'X'.

item-item_categ = p_itcat.
itemx-item_categ = 'X'.

APPEND item.
APPEND itemx.

*   Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty    = p_menge.
APPEND lt_schedules_in.

*   Fill schedule line flags
lt_schedules_inx-itm_number  = '000010'.
lt_schedules_inx-sched_line  = '0001'.
lt_schedules_inx-updateflag  = 'X'.
lt_schedules_inx-req_qty     = 'X'.
APPEND lt_schedules_inx.

* Call the BAPI
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
     EXPORTING
          sales_header_in     = header
          sales_header_inx    = headerx
     IMPORTING
          salesdocument_ex    = v_vbeln
     TABLES
          return              = return
          sales_items_in      = item
          sales_items_inx     = itemx
          sales_schedules_in  = lt_schedules_in
          sales_schedules_inx = lt_schedules_inx
          sales_partners      = partner.

* Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
  EXIT.
ENDLOOP.

IF sy-subrc = 0.

  WRITE: / 'Error in creating document'.

ELSE.

  COMMIT WORK AND WAIT.

  WRITE: / 'Document ', v_vbeln, ' created'.

ENDIF.

Thanks

Naren

3 REPLIES 3
Read only

Former Member
0 Likes
465

Hi,

check this sample program using the BAPI to create sales order..


PARAMETERS: p_auart TYPE auart OBLIGATORY.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
PARAMETERS: p_spart TYPE vtweg OBLIGATORY.

PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.

*ITEM
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
PARAMETERS: p_itcat TYPE pstyv   OBLIGATORY.

* DATA DECLARATIONS.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item    LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx   LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.
DATA: return  LIKE bapiret2    OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx
                         WITH HEADER LINE.
DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl
                         WITH HEADER LINE.

* HEADER DATA
header-doc_type = p_auart.
headerx-doc_type = 'X'.

header-sales_org = p_vkorg.
headerx-sales_org = 'X'.

header-distr_chan  = p_vtweg.
headerx-distr_chan = 'X'.

header-division = p_spart.
headerx-division = 'X'.

headerx-updateflag = 'I'.

* PARTNER DATA
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.

partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.

* ITEM DATA
itemx-updateflag = 'I'.

item-itm_number = '000010'.
itemx-itm_number = 'X'.


item-material = p_matnr.
itemx-material = 'X'.

item-plant    = p_plant.
itemx-plant   = 'X'.

item-target_qty = p_menge.
itemx-target_qty = 'X'.

item-target_qu = 'EA'.
itemx-target_qu = 'X'.

item-item_categ = p_itcat.
itemx-item_categ = 'X'.

APPEND item.
APPEND itemx.

*   Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty    = p_menge.
APPEND lt_schedules_in.

*   Fill schedule line flags
lt_schedules_inx-itm_number  = '000010'.
lt_schedules_inx-sched_line  = '0001'.
lt_schedules_inx-updateflag  = 'X'.
lt_schedules_inx-req_qty     = 'X'.
APPEND lt_schedules_inx.

* Call the BAPI
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
     EXPORTING
          sales_header_in     = header
          sales_header_inx    = headerx
     IMPORTING
          salesdocument_ex    = v_vbeln
     TABLES
          return              = return
          sales_items_in      = item
          sales_items_inx     = itemx
          sales_schedules_in  = lt_schedules_in
          sales_schedules_inx = lt_schedules_inx
          sales_partners      = partner.

* Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
  EXIT.
ENDLOOP.

IF sy-subrc = 0.

  WRITE: / 'Error in creating document'.

ELSE.

  COMMIT WORK AND WAIT.

  WRITE: / 'Document ', v_vbeln, ' created'.

ENDIF.

Thanks

Naren

Read only

Former Member
0 Likes
464

Hi Pandu,

Just search forum with any BAPI name you want to see for eg BAPI_MATERIAL_SAVEDATA and you will get lots of sample code

Regards,

Atish

Read only

harimanjesh_an
Active Participant
0 Likes
464

hi pandu,

this program implements 'BAPI_SALESORDER_GETLIST' to get Sale Order Details.

PARAMETER : p_kunnr TYPE bapi1007-customer,

p_vkorg TYPE bapiorders-sales_org.

DATA : t_order TYPE TABLE OF bapiorders," WITH HEADER LINE,

wa_order TYPE bapiorders.

START-OF-SELECTION.

CALL FUNCTION 'BAPI_SALESORDER_GETLIST'

EXPORTING

customer_number = p_kunnr

sales_organization = p_vkorg

  • MATERIAL =

  • DOCUMENT_DATE =

  • DOCUMENT_DATE_TO =

  • PURCHASE_ORDER =

  • TRANSACTION_GROUP = 0

  • PURCHASE_ORDER_NUMBER =

  • IMPORTING

  • RETURN =

TABLES

sales_orders = t_order

.

IF t_order[] IS NOT INITIAL.

LOOP AT t_order INTO wa_order.

WRITE : / wa_order-sd_doc,

wa_order-itm_number,

wa_order-material,

wa_order-short_text,

wa_order-doc_type.

ENDLOOP.

ELSE.

WRITE : / 'No Data'.

ENDIF.

Reward me if useful...........

Harimanjesh AN