Bapi for different order types
Hi all,
I am using bapi SD_SALESDOCUMENT_CREATE for creating orders. A bit doubtful about what are all the order types that i can use this for. can i use this for creating
returns
return replacement
order replacements
credit-value
credit -coop
credit - price prot.
credit stock
debit value
invoice correction
foc customer coop
FOC - Marketing
FOC - Overheads
FOC - Price Protect.
Consignment Pick-up
Consignment Fill-up
Consignment Issue
Consignment Returns
could somebody help me with this.
Thanks a lot,
Kiran.
Hi Kiran
I had a problem like yours so I created a copy of BAPi BAPI_SALESORDER_CREATEFROMDAT2 where I determined
the correct business object by fm SD_OBJECT_TYPE_DETERMINE and transfered it (instead of BUS2032) to fm SD_SALESDOCUMENT_CREATE.
Something like this:
function Zbapi_salesorder_createfromdat2.
SELECT SINGLE * FROM TVAK WHERE AUART = order_header_in-DOC_TYPE.
call function 'SD_OBJECT_TYPE_DETERMINE'
exporting
i_document_type = tvak-vbtyp
importing
e_business_object = business_object
exceptions
others = 1.
call function 'SD_SALESDOCUMENT_CREATE'
exporting
business_object = 'BUS2032' <------------------
business_object = business_object
endfunction.
Max
Similar Messages
-
Different movement types for Goods Issue for different Order Types
Hello Experts,
Can we maintain different movement types for Goods Issue for different Order Types at the time of automatic creation of reservations?
Thanks and regards,
SatyajitSatyajit,
Folow the link given,
Re: How to add new movement types when creating reservation?
Hope this helps you.
SmanS -
Multiple Document Types For Purchase Requisition For Different Order Types
Dear SAP Gurus,
I want to have different document types of Purchase Requisition for different Order types.
For Example:
for Order Type ZT01- Document Type used should be YR01
for Order Type YA01- Document Type used should be ZR01
How could this be achieved?
Regards.hi
Kindly check the user exit for the same
COZF0001 or COZF0002
regards
thyagarajan -
GATP/ATP Check for Different Order Types for same material
Hi :
I have a material code X for which 2 different type of Sales Order (Say A and B )needs to be created.
For Sales Order Type A the atp check needs to be done in APO through GATP for material code X.
For Sales Order Type B the atp check needs to be done in SAP R/3 ECC 6.0 through availabilty check functionality for same material code X.
It is not possible to create seperate material codes to carry out atp/gatp check seperately in R/3 and in APO.
In real time the atp and cumulative atp position should be same in R/3 and in APO.
Please let me know solution for this issue.
With Regards
Ashish GuptaHi Ashish,
Can you share with us as to how you were able to solve this issue. I have a similar issue like yours and I am totally clueless as to what needs to be done..
My scenario goes this way:
I have to modify the Schedule line dates for a GATP material according to a newly created date which I calculate based on the Route Schedule id (VL51, VL52) and display the same in the Sales Order schedule line items.
Also can I get a new set of schedule line dates from the APO system for a date which I calculate based on the Goods Issue date - VALW-AULWE in any exit using a FM or a BAPI?? so that I can get these dates and populate the same in the Sales Order Schedule line??
Thanks in advance,
Susanth -
Number range for different order types
hi
pl tell me how to create the number ranges for production order s and how to assign this number ranges to different order types in production server.
thanks and regardsDear ,
Goto CO82 ,
1.Frist you should review in the Overview Screen (Hit the Orview in CO82) wether you have option to create the group as per required number ranges for two order type
2.Hit the Pencil Button of the Group : It will take you "Maintain Number Ranges Group" and Select Group on the top -
Insert.It will pop up with Inser Group Window .Enter the Text , Enter Number Ranges (From no /To No) and then hot the insert button (+ sign) .You have to create two number ranges group as per your requirement
3.Now select you order type and hit the Select Eelement (Nip symbol) , select the resepctive group , then Hit Element/Group Tab .Once you follow this steps , you will find your Oredr type assigned to respective number ranges group.
4.To cross check , you select the number ranges group and hit the Spec button to see the correct number ranges .
5.MAKE SURE THAT YOU HAVE ORDER TYPE CREATED BEFORE YOU CREATE THEIR NUMBER RANGES -OPJH
Revery back if u need any help
Regards
JH -
Different number ranges for same order type
Hi PP Guru's ,
Can anyone send me the user exit for the differnet number range creation for the same order type.
Same order type is used in two different Plants. So our client want to track the production order plantwise.
Thanx in advance.
Regards,
NagrajHi Nagaraj,
The number range is defined at order type level ( i.e. client level)
So if you want to use different number range for different plant, then use different order type for different plants.
Thanks and regards
Murugesan -
IDOC/BAPI for Production order creation from Legacy system
Hi all
We are using an interface to create Production orders from legacy to SAP. Would you recommend an IDOC or a BAPI to create Production orders. If IDOC or BAPI then could you please mention which one?
thanks a bunchHi John,
For your purposes, please use BAPI for production order creation from legacy system. There is no standard inbound IDoc available to use. SAP has an IDoc for outbound interface only (message type LOIPRO).
If there is an inbound IDoc available, I would recommend to use an IDoc.
IDoc technology has excellent error handling and will allow you to reprocess an error (if any).
BAPI is also good approach to use and fast in term of processing.
For BAPI approach, you can use BAPI BAPI_PRODORD_CREATE.
Hope this will help.
Regards,
Ferry Lianto -
How to maintain PO Header Text entry in table T166K for different PO Type
Hi,
Can anyone tell me if there is a config transaction ( or path ) to maintain PO Header Text entry in table T166K for different PO Types
Thanks
ShrikantSpro->Material Management->Purchasing->Purchase Order->Texts for Purchase Orders.
There are 4 config setting to do for this.
Read information text.
regards,nishant
please reward if this helps -
PO Output message types for different document types
Hi,
I wanted the system automatically generate the messages whenever a PO is created for different document types like NB,UB,Blanketorder, Pilot run.
These are the steps i did...plz advice any more steps to make this work
1. the output type I am using is NEU-purchase order
2. I have created condition records for document types NB,UB,PR etc
I was sucessfull in getting the messages automatically for the standard(NB) PO..but not for the other document types
Plz advice me how I can achieve this with further configurations
Thanks
SKidIf you have created conditin record for all the document type in MN04 then it should work becuase doc type has nothing to do for printing config.
this is basically a condition record.
check your condition record -
Different Order Types within a Collective Order
Dear PP Gurus,
I have a requirement for having different order types with in a collective order. For example, in a BOM of 3 levels, the order type for each assembly should be different say ZPP1, ZPP2 and ZPP3.
For this, I have maintained separate production scheduling profiles in each of these assemblies with the respective order types. Also, I have maintained MRP groups separately for each of these materials. Further, in Plant Parameters, no default order type is assigned.
However, when I create the order, the system creates all orders with order type ZPP1 which is for the header material.
As per SAP help, this is possible but I am not able to create collective order with different order types.
Please suggest any SAP Note or configuration changes which I have missed out.
Thanks!
With Regards,
NitinDear Sabine,
Thanks for your reply.
However, as per SAP help, this is possible. Please refer to the link http://help.sap.com/saphelp_470/helpdata/en/ee/b6532cae8011d19e97080009b0db33/content.htm
In this link, under Pre-reuisites section, in Point 2 it is mentioned
"This indicator is transferred into the order header (master data) of the orders. If there are differing order types within the collective order, the setting of the indicator of the order type of the leading order takes precedence. This indicator is transferred to all lower-level orders and overrides their original indicators."
The above line implies that different order types are possible with in a collective order.
Please suggest some way out.
Thanks!
With Regards,
Nitin -
Uploading data in MM01 for different material types
Hi,
I have a doubt regarding uploading the data in MM01 for different material types.
Generally in MM01, we have different views for different material types. The number of views will vary depending upon the material type that we select.
I have a scenario, where in to upload the data, I have a flat file that consists of data for different message types. So, how to upload the data in such case.
Can anyone help me on the same by providing explanation or sample code...? What would be the possible ways to upload data in such scenario.
That would be of great help.
Thanks & Regards,
Pradeep.See the below code and use FM SELECTION_VIEWS_FIND..
REPORT zjpmuim306 NO STANDARD PAGE HEADING LINE-SIZE 250 MESSAGE-ID
zjpm001.
*& I N B O U N D V I A A B A P : Batch input Session method *
*& Development ID: IM_DD_306_LJP *
*& Report : ZJPMUIM306 *
*& The Purpose of the Object is to interface Create Input Record *
*& for SAP Migration from the Material master of BPCS All the *
*& information received at BPCS is collected into a single record. *
*& By using session method upload data from file ,one item is
*& created for one record *
*& Change Log: *
*& Init Who Date Text *
*& MALIKDH1 Seshu Reddy 26-07-2003 Initial Version *
Constants *
CONSTANTS:c_vkorg(4) type c value 'JP20', " Sales Organization
c_vtweg(2) type c value 'TR' , " Distribution Channel
c_werks(4) Type c value 'JP01' , " Plant
c_viewlist(15) VALUE 'KDEALBSZXVPCFQG'," View list
c_scm_view TYPE msichtausw-dytxt VALUE 'SCM View',
c_sd_view TYPE msichtausw-dytxt VALUE 'SD View',
c_seq_code(2) VALUE 'Z1', " Sequential Code
c_keep(1) TYPE c VALUE 'X', " Keep
c_group LIKE apqi-groupid VALUE 'IM306', " Session Name
c_tcode LIKE tstc-tcode VALUE 'MM02', " Transaction Code
c_blank(1) VALUE ' ', " Blank
c_intls(1) VALUE 'N'. " Logistic Status
Variables *
DATA: g_flag1(1), " Variable to hold
g_flag(1), " Variable to hold
g_file LIKE rlgrap-filename VALUE
'C:\Documents and Settings\seshur\Desktop\HCLT123.CSV'. " File name
Internal tables/ Work area *
Internal Table for Delimter
DATA : BEGIN OF t_delim OCCURS 0,
text(1000),
END OF t_delim.
Internal table for BDC processing
DATA : t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
Internal table for holding the data which has to be uploaded.
DATA: BEGIN OF t_bpcs OCCURS 0,
matnr(15) TYPE c, " material no
dosage(40) TYPE c, " Dosage form(Local)
appearance(40) TYPE c, " Appearance
idcode(6) TYPE c, " Identification Code
prostformno(10) TYPE c, "SOP
weitab(7) TYPE c, " Weight/tablet
uom1(2) TYPE c, " UOM of Carton
uom2(2) TYPE c, " UOM of Case
carsize(14) TYPE c, " Carton size
cassize(14) TYPE c, " Case size
rupqty(11) TYPE c, " Round up
abvname(3) TYPE c, " Product short name
END OF t_bpcs.
*Internal table for t_bpcs
DATA: BEGIN OF t_mdata OCCURS 0,
matnr LIKE marc-matnr, " Material number
zzjp_dos_frm LIKE marc-zzjp_dos_frm, " Dosage form(Local)
zzjp_aprn LIKE marc-zzjp_aprn, " Appearance
zzjp_con_id LIKE marc-zzjp_con_id," Identification Code
zzjp_nyu_sop LIKE marc-zzjp_nyu_sop,"SOP
zzjp_wei_tab(10) type c , " Weight/tablet
zzjp_bio LIKE marc-zzjp_bio,"Biologics Indicator
zzjp_itf LIKE marc-zzjp_itf, " ITF code
zzjp_car(2) type c, " UOM of Carton
zzjp_cas(2) type c, " UOM of Case
zzjp_car_size(11) type c," Carton size
zzjp_cas_size(11) type c, " Case size
zzjp_rupqty(11) type c, " Round up
zzjp_init_ls LIKE marc-zzjp_init_ls, " Logistic Status
zzjp_re1 LIKE marc-zzjp_re1, "Document type(Local)
zzjp_re2 LIKE marc-zzjp_re2, "Report type
zzjp_re3 LIKE marc-zzjp_re3, "Shipping report type
zzjp_pro_id LIKE mvke-zzjp_pro_id," Product output sequence
zzjp_bu_id LIKE mvke-zzjp_bu_id, " Business unit indicator
zzjp_abv_name LIKE mvke-zzjp_abv_name," Product short name
zzjp_abv_id1 LIKE mvke-zzjp_abv_id1," Product short name output
zzjp_abv_id2 LIKE mvke-zzjp_abv_id2," Product short name internal
zzjp_spl_id LIKE mvke-zzjp_spl_id, " Sample internal order
END OF t_mdata.
Internal table for Mara Table
DATA: BEGIN OF t_mara OCCURS 0,
matnr LIKE mara-matnr, " material Number
vpsta LIKE mara-vpsta, " Maintenance status of complete material
pstat like mara-pstat, " Maintenance status
END OF t_mara.
Internal table for Material Master View Selection Screens
DATA: BEGIN OF t_bildtab OCCURS 0.
INCLUDE STRUCTURE mbildtab.
DATA: END OF t_bildtab.
internal table for T_bildtab
DATA: t_bildtab_dup LIKE t_bildtab OCCURS 0 WITH HEADER LINE.
*Work area for T_bildtab internal table(Views Selection)
DATA: BEGIN OF w_data,
flag1 type c,
anzd70 TYPE i,
field1(20) type c,
field2(20) type c,
field3(20) type c,
field4(20) type c,
count(2) TYPE c,
END OF w_data.
Main Processing *
START-OF-SELECTION.
Store data from file into internal table
PERFORM f_uplaod_data.
Transfer the uploaded data into t_mdata internal Table
PERFORM f_process_data.
Selecting The views based on Material number
PERFORM f_view_list.
Open a BDC Session
PERFORM f_bdc_open.
*Selecting the fields from mara table
SELECT matnr
vpsta
pstat
FROM mara
INTO TABLE t_mara
FOR ALL ENTRIES IN t_mdata
WHERE matnr = t_mdata-matnr.
SORT t_mara BY matnr.
SORT t_mdata BY matnr.
Transfer the uploaded data into BDCDATA structure
PERFORM f_process_bdc.
Close The BDC Session
PERFORM f_close_group.
*& Form F_VIEW_LIST *
Routine to used for Calling the function module *
Selection_views_find *
FORM f_view_list.
CALL FUNCTION 'SELECTION_VIEWS_FIND'
EXPORTING
bildsequenz = c_seq_code
pflegestatus = c_viewlist
TABLES
bildtab = t_bildtab
EXCEPTIONS
call_wrong = 1
empty_selection = 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.
ENDFORM. " F_VIEW_LIST
*& Form f612_view_sort *
Routine to used for Selecting The views based on Material Number *
FORM f612_view_sort.
t_bildtab_dup[] = t_bildtab[].
Reading the Internal table t_mara
READ TABLE t_mara WITH KEY matnr = t_mdata-matnr.
TRANSLATE t_mara-pstat USING ' $'.
CLEAR: w_data-flag1, w_data-anzd70.
LOOP AT t_bildtab_dup.
IF t_bildtab_dup-pstat CA t_mara-pstat.
w_data-anzd70 = w_data-anzd70 + 1.
IF t_bildtab_dup-kzanz IS INITIAL.
t_bildtab_dup-kzanz = 'X'.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ELSE.
IF NOT t_bildtab_dup-kzanz IS INITIAL.
CLEAR t_bildtab_dup-kzanz.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ENDIF.
ENDLOOP.
TRANSLATE t_mara-pstat USING '$ '.
IF NOT w_data-flag1 IS INITIAL.
SORT t_bildtab_dup BY kzanz DESCENDING idxbd ASCENDING.
ENDIF.
*Reading The internal table for T_bildtab_dup
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
w_data-count = w_data-count + 2.
IF w_data-anzd70 > 18.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field1.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field2.
ENDIF.
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
IF w_data-anzd70 > 18.
w_data-count = w_data-count + 2.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field3.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field4.
ENDIF.
ENDFORM. " f612_view_sort
*& Form f_uplaod_data *
Routine to used for Uploading the data from file to Internal table *
FORM f_uplaod_data.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = g_file
filetype = 'DAT'
TABLES
data_tab = t_delim
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF t_bpcs IS INITIAL.
LOOP AT t_delim.
SPLIT t_delim-text AT ',' INTO t_bpcs-matnr
t_bpcs-dosage
t_bpcs-appearance
t_bpcs-idcode
t_bpcs-prostformno
t_bpcs-weitab
t_bpcs-uom1
t_bpcs-uom2
t_bpcs-carsize
t_bpcs-cassize
t_bpcs-rupqty
t_bpcs-abvname.
APPEND t_bpcs.
ENDLOOP.
ENDIF.
ENDFORM. " f_uplaod_data
*& Form F_BDC_OPEN
Routine to create BDC Session to be processed
FORM f_bdc_open.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = c_group
keep = c_keep
user = sy-uname
EXCEPTIONS
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
OTHERS = 11.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MESSAGE S000 WITH 'Batch input session is created successfully'(T02).
ENDIF.
ENDFORM. " F_BDC_OPEN
*& Form F_PROCESS_BDC
Processing of BDCDATA Structure
FORM f_process_bdc.
LOOP AT t_mdata.
PERFORM f612_view_sort.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM f_bdc_field USING 'RMMG1-MATNR'
t_mdata-matnr.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
IF w_data-anzd70 > 18.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field1.
PERFORM f_bdc_field USING w_data-field2 'X'.
g_flag = 'X'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF sy-subrc EQ 0.
g_flag = 'X'.
ENDIF.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field3.
PERFORM f_bdc_field USING w_data-field4 'X'.
g_flag1 = 'X'.
ENDIF.
IF g_flag = 'X' AND g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
CLEAR g_flag.
CLEAR g_flag1.
ELSE.
IF g_flag = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ELSE.
IF g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDIF.
ENDIF.
*Processing of SCM View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MARC-ZZJP_DOS_FRM'.
PERFORM f_bdc_field USING 'MARC-ZZJP_DOS_FRM'
t_mdata-zzjp_dos_frm.
PERFORM f_bdc_field USING 'MARC-ZZJP_APRN'
t_mdata-zzjp_aprn.
PERFORM f_bdc_field USING 'MARC-ZZJP_CON_ID'
t_mdata-zzjp_con_id.
PERFORM f_bdc_field USING 'MARC-ZZJP_NYU_SOP'
t_mdata-zzjp_nyu_sop.
PERFORM f_bdc_field USING 'MARC-ZZJP_WEI_TAB'
t_mdata-zzjp_wei_tab.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR'
t_mdata-zzjp_car.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS'
t_mdata-zzjp_cas.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR_SIZE'
t_mdata-ZZJP_CAR_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS_SIZE'
t_mdata-ZZJP_CAS_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_RUPQTY'
t_mdata-ZZJP_RUPQTY.
PERFORM f_bdc_field USING 'MARC-ZZJP_BIO'
t_mdata-zzjp_bio.
PERFORM f_bdc_field USING 'MARC-ZZJP_ITF'
t_mdata-zzjp_itf.
PERFORM f_bdc_field USING 'MARC-ZZJP_INIT_LS'
t_mdata-zzjp_init_ls.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE1'
t_mdata-zzjp_re1.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE2'
t_mdata-zzjp_re2.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE3'
t_mdata-zzjp_re3.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
*Processing of SD View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MVKE-ZZJP_PRO_ID'.
PERFORM f_bdc_field USING 'MVKE-ZZJP_PRO_ID'
t_mdata-zzjp_pro_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_BU_ID'
t_mdata-zzjp_bu_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_NAME'
t_mdata-zzjp_abv_name.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID1'
t_mdata-zzjp_abv_id1.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID2'
t_mdata-zzjp_abv_id2.
PERFORM f_bdc_field USING 'MVKE-ZZJP_SPL_ID'
t_mdata-zzjp_spl_id.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM f_bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=YES'.
perform f_bdc_insert.
REFRESH T_BDCDATA.
ENDLOOP.
ENDFORM. " F_PROCESS_BDC
*& Form f_bdc_dynpro
p_prog is the program name to which data is passed *
p_dyno is the screen number to which the data is passed
Routine for populating the BDCDATA structure with the
Screen related information
FORM f_bdc_dynpro USING p_prog
p_dyno.
t_bdcdata-program = p_prog.
t_bdcdata-dynpro = p_dyno.
t_bdcdata-dynbegin = 'X'.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_dynpro
*& Form F_BDC_FIELD
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
FORM f_bdc_field USING p_fnam
p_fval.
t_bdcdata-fnam = p_fnam.
t_bdcdata-fval = p_fval.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_field
*& Form F_PROCESS_DATA *
Routine to used for moving data from T_bpcs internal table to *
t_mdata Internal Table *
FORM f_process_data.
LOOP AT t_bpcs.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_bpcs-matnr
IMPORTING
output = t_mdata-matnr.
MOVE t_bpcs-dosage TO t_mdata-zzjp_dos_frm.
MOVE t_bpcs-appearance TO t_mdata-zzjp_aprn.
MOVE t_bpcs-idcode TO t_mdata-zzjp_con_id.
MOVE t_bpcs-prostformno TO t_mdata-zzjp_nyu_sop.
MOVE t_bpcs-weitab TO t_mdata-zzjp_wei_tab.
MOVE c_blank TO t_mdata-zzjp_bio.
MOVE c_blank TO t_mdata-zzjp_itf.
MOVE t_bpcs-uom1 TO t_mdata-zzjp_car.
MOVE t_bpcs-uom2 TO t_mdata-zzjp_cas.
MOVE t_bpcs-carsize TO t_mdata-zzjp_car_size.
MOVE t_bpcs-cassize TO t_mdata-zzjp_cas_size.
MOVE t_bpcs-rupqty TO t_mdata-zzjp_rupqty.
MOVE c_intls TO t_mdata-zzjp_init_ls.
MOVE c_blank TO t_mdata-zzjp_re1.
MOVE c_blank TO t_mdata-zzjp_re2.
MOVE c_blank TO t_mdata-zzjp_re3.
MOVE c_blank TO t_mdata-zzjp_pro_id.
MOVE c_blank TO t_mdata-zzjp_bu_id.
MOVE t_bpcs-abvname TO t_mdata-zzjp_abv_name.
MOVE c_blank TO t_mdata-zzjp_abv_id1.
MOVE c_blank TO t_mdata-zzjp_abv_id2.
MOVE c_blank TO t_mdata-zzjp_spl_id.
APPEND t_mdata.
ENDLOOP.
ENDFORM. " F_PROCESS_DATA
*& Form f_bdc_close
Routine to close the BDC Session
FORM f_close_group.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 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.
ENDFORM. " f_close_group
*& Form f_bdc_insert
routine to input batch data into the Transaction MM02 from the
session created
FORM f_bdc_insert.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = c_tcode
TABLES
dynprotab = t_bdcdata
EXCEPTIONS
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7.
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. " f_bdc_insert
Reward Points if it is useful
Thanks
Seshu -
Change pointer triggers for one order type but not for other with LOIPRO
Hi all,
We have old production order type ZP01 since last 3 years. Idoc LOIPRO are triggered properly. Now we introduced new production order type ZP02, but idocs are not triggereing for these prod. orders. They both are production orders with different order types but same message type LOIPRO
I noticed that change pointers are not getting written to CDHDR and CDPOS for this new order type. For old order type they are getting written to CDHDR/CDPOS. Does any one know where is the issue in config.
Currently BD52 contains following entries for LOIPRO
ORDER-AFKO-AUFNR
ORDER-AFKO-KEY.
Thanks in advanceAnyone with an idea.
The project went live by using RCCLORD or RCCLTRAN, but still the same orders keep triggering. How do we restrict the already processed production orders. -
Fm or bapi for service order confirmation (iw41)
hi,
Can you please tell me a fm or bapi for service order confirmation in iw41HI dido...
you can use CRM_ORDER_MAINTAIN.
you can process any document type you want
regards
Marco -
Number Range for Maintenance Order Type
Dear All,
Please help me in regarding for Number range Change in Maintenance Order Type.
I have different types of maintenance order...such as PM01,PM02, PM03, PM04, PM05, PM06, PM07, PM08.
and i have to assign number range different for all the maintenance order type. kindly help how can i assign the same separately.
also in case of Notification types also.
Early response is highly appreciated.
Thanks
SushantGreetings Sushant,
Firstly, maintain all the Order Types you want in SPRO.
To maintain the number ranges, you will need to go to t-code OION. Then select "Maintain Groups (F6)" and create a group with a number range for each of the Order Types that you require. Each will be a separate interval. Then place the cursor on the unassigned Order Type and select "Assign Element Group (F7)" Repeat for each Order Type.
Notification number ranges are maintained in t-code IW20 -
Print in different page for different material type in Sapscript
Hi all
How do I do the above matter?
Currently I have a script that print all material according to some condition.
My client request to have a different page of material list for different material type.
Please advise
azHi,
1) Sort the internal table by material type.
call func 'OPEN_FORM'.
loop at itab.
at new mattype.
if mattype = 'A'.
call fun 'START_FORM'.
exporting
page = 'PAGEA'.
elseif mattype = 'B'.
call fun 'START_FORM'.
exporting
page = 'PAGEB'.
endat.
call func 'WRITE_FORM'.
AT end of mattype.
call function 'END_FORM'.
endat.
endloop.
call function 'CLOSE_FORM'.
Thanks,
Nethaji.
Maybe you are looking for
-
I am using a Blackmagic card and have updated the codecs - I did a chat with Adobe and they remotely controlled my computer and still couldn't get it to work. The monitor works fine with Final Cut but won't work with Premier CC. Help.
-
Trying to understand flash.media.Microphone
Hi, I am new to flash/AS3 and currently trying to understand how to use flash.media.Microphone in my application. I have the following code to activate the microphone: var mic:Microphone = Microphone.getMicrophone(); Security.showSettings("2"); mic.s
-
How to open Internet Explorer files?
I have a bunch of Internet Explorer files that I transferred from my old OS 9 iMac. Now, it seems, I can't open any of them. These are web pages I saved for research purposes, and I would really like to open them if at all possible. It was suggested
-
Template, recordset and querystrings
hello, i've got a problem that's vexing me. I am using ASP/VBScript with DW CS3. I am trying to get a repeating region to populate. I have a template and a child page of the template. On the template page I created bindings that are associated with t
-
Business Content Presentations
Hi D oes anyone have business content presentations or could you direct me to some material Thanks