BDoc structure enhancement for replication
Hi All,
We need to replicate ISU Customer contacts (Txn BCT0) to CRM Activities (Txn CRMD_ORDER). For this the mapping table BPCT_CRM_CLASS and Bdoc BUS_TRANS_MSG are used.
The standard is to map <class> and <action> to <description> on the activity. But, we want to map ISU <class> and <action> standard fields on contact into CRM <category> and <sub-category> custom fields on the activity.
I suppose the standard Bdoc BUS_TRANS_MSG and mapping table BPCT_CRM_CLASS need to be modified for achieving this.
Could you please help me with this? How the Bdoc structure can be enhanced in order to map to custom fields? Is it recommended or not?
Please share any relevant documents.
Thanks in advance.
Alka
Hi
What u need to do is just make an append structure to the komp for this u can find a option append structure next to hierarchy display once u click the Append structure .
it will give u a pop up where u can find the create append over the top of the append and u can create your fields as per your requirement.
Hope this helps u and if u still have queries kindly revert.
Thanks,
Joe
Similar Messages
-
Structure enhancement for KOMP/KOMPAZ
Hi,
I am trying to add new fields in KOMP structure. Could anybody tell me how to proceed. i couldn;t able to extend KOMP.
the main purpose is, I need to use this fields in "USEREXIT_PRICING_PREPARE_TKOMP"
Thanks,
RamHi
What u need to do is just make an append structure to the komp for this u can find a option append structure next to hierarchy display once u click the Append structure .
it will give u a pop up where u can find the create append over the top of the append and u can create your fields as per your requirement.
Hope this helps u and if u still have queries kindly revert.
Thanks,
Joe -
F4 help for a customer defined field added as structure enhancement
I am trying to get the F4 help on a customer defined field added as structure enhancement. This can be achieved by programming the "F4IF_INT_TABLE_VALUE_REQUEST" (as I have data in an internal table) in the Process On Value-Request event. The problem is because it is a customer field addition as structure enhancement. I am not sure where I should put this code segment to make it work. Any help would be highly appreciated.
Could you create a search help and attach that to the data element of your field, and then populate the data using code in the function exit of your search help if it cannot be directly read from a table or view?
This would remove your code from the SAP dialog program. The only mod you may need to make is to add / flag the search help on the screen field.
Andrew -
CRM 7.0 / IS-U: adding custom fields to Business agreement for replication
Hello Experts!
We're working on replication of custom fields from IS-U to CRM 7.0.
Can you help me with clarification of my understanding of these questions..?
1) CRM/IS-U mapping tables for buag_main:
Business Agreement(BUAG_MAIN) is a BO in CRM that corresponds to CRM table CRMM_BUAG and to Contract account in IS-U table FKKVKP.
Table FKKVKP were enhanced with some z-fields,
so we are going to enhance corresponding CRM table CRMM_BUAG (or CRMM_BUAG_H) with that new fields..
But we see that these CRM and IS-U tables have far not the same field structures..
So, the question: Which crm and is-u tables i should look, enhance and replicate for Business agreement?
2) Access to Business agreement with possibility to add custom field:
I couldn't find in Web UI where i can directly edit profile of Business Agreement..
I've found just access to assignment block "Business agreement" on Account's profile overview page..(Role ServicePRO; Account details).
There I used AET to add custom field..but I faced with problem when the 1st popup appeared: there was no enhanced object "Business Agreement"..
Also in role "Utilities IC Agent" i've found "business agreement" profile but there I don't see buttons for adding custom fields..
So, the question is: Where I can access Business agreement profile to enhance it with custom fields for replication with IS-U?
3) CRM/IS-U data exchange functions:
I tend to use tcode CRMC_BUT_CALL_FU:
for CRM inbound event of BUAG object - FM CRM_BUAG_MWX_PROCESS_EXT_STRUC..(as template).
Question: Am I right that it fits my requirement to replicate custom fields from IS-U to CRM?
Please tell me if you need more information..
Looking forward to your answers.
Thank you a lot in advance!
Kind regards,
EvgeniaHi Gobi,
Thank you for advice. But:
I've created fields not by using AET - I used documentation that Nicolas suggested me above.
I've enhanced tables and structures that were mentioned there with my z-fields for both sides (CRM and ERP).
Also I looked CRMC_BUT_CALL_FU for CRM Inbound BUAG_MAIN - corresponding standard FMs are marked for call.
Any ideas?
Thanks in advance.
BR,
Evgenia -
BADI enhancement for Enjoy PO Tcodes at "header level".
I could successfully add an item level tab to MEXXN PO tcodes. Somebody help me with the ME_GUI_PO_CUST and ME_PROCESS_PO implementations to add a customer field , say ZZ_ETYP in a separate header level tab "Expense type".
Do I need to add subscreen2 attribute to the implementing class ?
Will one structure do for both header and item level data ?
Do I need to create a separate table ( like ZMEPO_BADI_EXAMPL for items ) for the header also ?
It would be gr8 if i could get the code for the above BADIs and MEPOBADIEX's function modules.Dear Iyer,
Kindly go through the code.. hope this will help you...
<b>DETAILED DATABASE DESIGN SPECIFICATIONS</b>
<b>1. ZTPTP_HEADER</b>
Header: Expense Type
Field Name Field Type Key Information Field Description
MANDT MANDT X Client
EBELN EBELN X Purchasing Document Number
ZZ_EXPTYPE ZZEXPTYPE Expense Type
<b>2. ZTPTP_ITEM</b>
Item: Retainage
Field Name Field Type Key Information Field Description
MANDT MANDT X Client
EBELN EBELN X Purchasing Document Number
EBELP EBELP X Item Number of Purchasing Document
ZZ_RETAINAGE ZZRETAINAGE Retainage
<b>3. ZSPTP_HEADER</b>
PO Enhancement structure: Header
Field Name Field Type Key Information Field Description
EBELN EBELN Purchasing Document Number
ZZ_EXPTYPE ZZEXPTYPE Expense Type
<b>4. ZSPTP_ITEM</b>
PO Enhancement structure: Item
Field Name Field Type Key Information Field Description
EBELN EBELN Purchasing Document Number
EBELP EBELP Item Number of Purchasing Document
ZZ_RETAINAGE ZZRETAINAGE Retainage
Detailed logic
<b>LZPTP_PORETAINAGETOP (TOP INCLUDE) FG: ZPTP_PORETAINAGE</b>
persistent item data
data: git_persistent_data type sorted table of ztptp_item
with unique key mandt ebeln ebelp,
actual item data
git_data type sorted table of ztptp_item
with unique key mandt ebeln ebelp.
persistent header data
data: git_persistent_head type sorted table of ztptp_header
with unique key mandt ebeln ,
actual header data
git_head type sorted table of ztptp_header
with unique key mandt ebeln .
dynpro output structure
tables: zsptp_item,
zsptp_header.
definitions required for dynpro/framework integration
data: ok-code type sy-ucomm.
Following is a SAP include.
include lmeviewsf01.
<b>1. ZPTP_COMMIT_HEADER FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_COMMIT. In this Function module we update the database table ZTPTP_HEADER i.e. as per a change / insert or delete command at the header level. This database tables size will always be low. It just contains the PO s data just being edited or created.
The interface would look like:
TABLES
IMT_DATA_NEWHD STRUCTURE ZTPTP_HEADER
IMT_DATA_OLDHD STRUCTURE ZTPTP_HEADER
Comparing the old and new data we update 3 different internal tables and using these we can update the internal tables ZTPTP_HEADER before actually updating the database table EKKO.A similar logic is coded in the sample FM : MEPOBADIEX_COMMIT
<b>
2. ZPTP_COMMIT_ITEM FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_COMMIT. In this Function module we update the database table ZTPTP_HEADER i.e. as per a change / insert or delete command at the item level. This database tables size will always be low. It just contains the PO s latest data just being edited or created.
The interface would look like :
TABLES
IMT_DATA_NEW STRUCTURE ZTPTP_ITEM
IMT_DATA_OLD STRUCTURE ZTPTP_ITEM
Comparing the old and new data we update 3 different internal tables and using these we can update the internal tables ZTPTP_HEADER before actually updating the database table EKPO. A similar logic is coded in the sample FM : MEPOBADIEX_COMMIT
<b>3. ZPTP_GET_DATA_HEADER FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_GET_DATA. This FM is responsible for updating an internal table (git_head) which would hold the data the user has changed or created or displayed till the current point of time. It would also hold the latest customer header data that is to be displayed in case of a change transaction.
The interface would be as follows:
Local Interface:
IMPORTING
REFERENCE(IM_EBELN) TYPE EBELN
REFERENCE(IM_EBELP) TYPE EBELP OPTIONAL
EXPORTING
REFERENCE(EX_HEAD) TYPE ZTPTP_HEADER
Read expense type from git_header. If not found, get expense value from EKKO.
<b>4. ZPTP_GET_DATA_ITEM FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_GET_DATA. This FM is responsible for updating an internal table (git_data) which would hold the data the user has changed or created or displayed till the current point of time. It would also hold the latest customer item data that is to be displayed in case of a change transaction.
The interface would be as follows:
Local Interface:
IMPORTING
REFERENCE(IM_EBELN) TYPE EBELN
REFERENCE(IM_EBELP) TYPE EBELP
EXPORTING
VALUE(EX_DATA) TYPE ZTPTP_ITEM
Read Retainage from git_data. If not found, get Retainage value from EKPO.
<b>5. ZPTP_INIT FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_INIT. This FM is responsible for clearing the header and item internal tables.
clear: git_persistent_data[], git_data[],git_persistent_head[],git_head[].
<b>6. ZPTP_OPEN FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_OPEN. This FM is responsible for existing information from respective database tables.
The interface would be as follows:
Local Interface:
IMPORTING
REFERENCE(IM_EBELN) TYPE EBELN
Get Expense type and Retainage from customer created Tables and assign it to respective global internal tables.
<b>7. ZPTP_POP_HEADER FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_POP. This FM is responsible for getting header values from screen fields.
The interface would be as follows:
Local Interface:
EXPORTING
REFERENCE(EX_DYNP_DATAHD) TYPE ZSPTP_HEADER
get dynpro data
ex_dynp_datahd = zsptp_header.
<b>8. ZPTP_POP_ITEM FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_POP. This FM is responsible for getting item values from screen fields.
The interface would be as follows:
Local Interface:
EXPORTING
REFERENCE(EX_DYNP_DATA) TYPE ZSPTP_ITEM
get dynpro data
ex_dynp_data = zsptp_item.
<b>9. ZPTP_POST_HEADER FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_POST. This FM is responsible for preparing header data for posting.
Local Interface:
IMPORTING
VALUE(IM_EBELN) TYPE EBELN
prepare customers data for posting
check not im_ebeln is initial.
lit_data_newhd[] = git_head.
lit_data_oldhd[] = git_persistent_head.
lwa_head-mandt = sy-mandt.
lwa_head-ebeln = im_ebeln.
modify lit_data_newhd from lwa_head transporting mandt ebeln where ebeln is initial.
Commit data in Database ztptp_header.
call function 'ZPTP_COMMIT_HEADER'
tables
imt_data_newhd = lit_data_newhd
imt_data_oldhd = lit_data_oldhd.
<b>10. ZPTP_POST_ITEM FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_POST. This FM is responsible for preparing item data for posting.
"Local Interface:
IMPORTING
VALUE(IM_EBELN) TYPE EBELN
data: lwa_data like line of git_data,
lit_data_new type standard table of ztptp_item,
lit_data_old type standard table of ztptp_item.
prepare customers data for posting
check not im_ebeln is initial.
lit_data_new[] = git_data.
lit_data_old[] = git_persistent_data.
lwa_data-mandt = sy-mandt.
lwa_data-ebeln = im_ebeln.
modify lit_data_new from lwa_data transporting mandt ebeln where ebeln is initial.
Commit data in Database ztptp_item.
call function 'ZPTP_COMMIT_ITEM' in update task
tables
imt_data_new = lit_data_new
imt_data_old = lit_data_old.
<b>11. ZPTP_PUSH_HEADER FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_PUSH. This FM is responsible for populating header values to screen fields.
Local Interface:
IMPORTING
REFERENCE(IM_DYNP_DATAHD) TYPE ZSPTP_HEADER
set dynpro data
zsptp_header = im_dynp_datahd .
<b>12. ZPTP_PUSH_ITEM FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_PUSH. This FM is responsible for populating item values to screen fields.
Local Interface:
IMPORTING
REFERENCE(IM_DYNP_DATA) TYPE ZSPTP_ITEM
set dynpro data
zsptp_item = im_dynp_data .
<b>13. ZPTP_SET_DATA_HEADER FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_SET_DATA. This FM is responsible for keep update header information in git_header.
delete a line from git_data
delete table git_head with table key mandt = sy-mandt
ebeln = im_datahd-ebeln.
update customer data
read table git_head assigning <lf_datahd> with table key
mandt = sy-mandt
ebeln = im_datahd-ebeln.
if sy-subrc is initial.
update existing data
<lf_datahd>-zz_exptype = im_datahd-zz_exptype.
else.
make a new entry into the data table
lwa_head = im_datahd.
lwa_head-mandt = sy-mandt.
insert lwa_head into table git_head.
endif.
<b>14. ZPTP_SET_DATA_ITEM FG: ZPTP_PORETAINAGE</b>
Get the sample function module code from the standard FM: MEPOBADIEX_SET_DATA. This FM is responsible for keep update item information in git_data.
delete a line from git_data
delete table git_data with table key mandt = sy-mandt
ebeln = im_data-ebeln
ebelp = im_data-ebelp.
update customer data
read table git_data assigning <lf_data> with table key
mandt = sy-mandt
ebeln = im_data-ebeln
ebelp = im_data-ebelp.
if sy-subrc is initial.
update existing data
<lf_data>-zz_retainage = im_data-zz_retainage.
else.
make a new entry into the data table
lwa_data = im_data.
lwa_data-mandt = sy-mandt.
insert lwa_data into table git_data.
endif.
<b>DETAILED SCREEN DESIGN SPECIFICATIONS</b>
<b>screen 0002</b>
Item Retainage
ZSPTP_ITEM-ZZ_RETAINAGE DEC 5 Retainage
Screen Logic / Process before Output
call method call_view->handle_event( 'PBO' ).
Screen Logic / Process after Input
call method call_view->handle_event( 'PAI' )
<b>Screen 0003</b>
Header: Expense type
ZSPTP_HEADER-ZZ_EXPTYPE NUMC 4 Expense Type
Screen Logic / Process before Output
call method call_view->handle_event( 'PBO' ).
Screen Logic / Process after Input
call method call_view->handle_event( 'PAI' )
<b>DETAILED CLASS DESIGN SPECIFICATIONS</b>
<b>A. ZCL_IM_ME_GUI_PO_CUST</b>
Description
Imp. Class ZME_GUI_PO_CUST
Attributes
Name Level Visibility Type
SUBSCREEN1 Constant Public MEPO_NAME
SUBSCREEN2 Constant Public MEPO_NAME
DYNP_DATA_PBO Instance Attribute Private ZSPTP_ITEM
DYNP_DATA_PAI Instance Attribute Private ZSPTP_ITEM
DYNP_DATA_PBOHD Instance Attribute Private ZSPTP_HEADER
DYNP_DATA_PAIHD Instance Attribute Private ZSPTP_HEADER
Methods
Name Level Visibility
IF_EX_ME_GUI_PO_CUST~SUBSCRIBE Instance Attribute Public
IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS Instance Attribute Public
IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL Instance Attribute Public
IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP Instance Attribute Public
IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP Instance Attribute Public
IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_MODEL Instance Attribute Public
<b>1. SUBSCRIBE</b>
Description
Publisch Customer's Own Screens
Detailed logic
when lc_item.
the name is a unique identifier for the subscreen and defined in this class definition
lwa_subscriber-name = subscreen1.
the dynpro number to use
lwa_subscriber-dynpro = '0002'.
the program where the dynpro can be found
lwa_subscriber-program = 'SAPLZPTP_PORETAINAGE'.
each subscreen needs his own DDIC-Structure
lwa_subscriber-struct_name = 'ZSPTP_ITEM'.
a label can be defined
lwa_subscriber-label = text-001.
the position within the tabstrib can be defined
lwa_subscriber-position = 1.
lwa_subscriber-height = 7.
append lwa_subscriber to re_subscribers.
Header subscreen
when lc_header.
the name is a unique identifier for the subscreen and defined in this class definition
lwa_subscriber-name = subscreen2.
the dynpro number to use
lwa_subscriber-dynpro = '0003'.
the program where the dynpro can be found
lwa_subscriber-program = 'SAPLZPTP_PORETAINAGE'.
each subscreen needs his own DDIC-Structure
lwa_subscriber-struct_name = 'ZSPTP_HEADER'.
a label can be defined
lwa_subscriber-label = text-002.
the position within the tabstrib can be defined
lwa_subscriber-position = 1.
lwa_subscriber-height = 7.
append lwa_subscriber to re_subscribers.
endcase.
<b>2. MAP_DYNPRO_FIELDS</b>
Description
Build Up Field Catalog
Detailed logic
loop at ch_mapping assigning <lf_mapping>.
*Assignment of metafields to the customer fields.
case <lf_mapping>-fieldname.
when 'EBELN'. <lf_mapping>-metafield = mmmfd_preq_no_po.
when 'EBELP'. <lf_mapping>-metafield = mmmfd_preq_item_po.
when 'ZZ_RETAINAGE'. <lf_mapping>-metafield = mmmfd_cust_01.
when 'ZZ_EXPTYPE'. <lf_mapping>-metafield = mmmfd_cust_02.
endcase.
endloop.
<b>
3. TRANSPORT_FROM_MODEL</b>
Description
Data Transport from Business Object
Detailed logic
when subscreen1.
Get the item object
mmpur_dynamic_cast lif_item im_model.
check not lif_item is initial.
lwa_mepoitem = lif_item->get_data( ).
transport customer fields
call function 'ZPTP_GET_DATA_ITEM'
exporting
im_ebeln = lwa_mepoitem-ebeln
im_ebelp = lwa_mepoitem-ebelp
importing
ex_data = lwa_customer.
store info for later use
move-corresponding lwa_mepoitem to dynp_data_pbo.
move lwa_customer-zz_retainage to dynp_data_pbo-zz_retainage.
when subscreen2.
Get the header object
mmpur_dynamic_cast lif_header im_model.
check not lif_header is initial.
transport standard fields
lwa_mepohead = lif_header->get_data( ).
transport customer fields
call function 'ZPTP_GET_DATA_HEADER'
exporting
im_ebeln = lwa_mepohead-ebeln
importing
ex_head = lwa_customerhd.
store info for later use
move-corresponding lwa_mepohead to dynp_data_pbohd.
if not lwa_customerhd-zz_exptype is initial.
move lwa_customerhd-zz_exptype to dynp_data_pbohd-zz_exptype.
else.
move dynp_data_paihd-zz_exptype to dynp_data_pbohd-zz_exptype.
endif.
when others.
endcase.
<b>4. TRANSPORT_TO_DYNP</b>
Description
Data Transport to Screen
Detailed logic
case im_name.
when subscreen1 .
Pushing item data to screen fields
call function 'ZPTP_PUSH_ITEM'
exporting
im_dynp_data = dynp_data_pbo.
when subscreen2 .
Pushing header data to screen fields
call function 'ZPTP_PUSH_HEADER'
exporting
im_dynp_datahd = dynp_data_pbohd.
when others.
endcase.
<b>5. TRANSPORT_FROM_DYNP</b>
Description
Data Transport from Screen
Detailed logic
case im_name.
when subscreen1.
Getting item data from screen fields
call function 'ZPTP_POP_ITEM'
importing
ex_dynp_data = dynp_data_pai.
if dynp_data_pai ne dynp_data_pbo
or dynp_data_paihd ne dynp_data_pbohd.
If data changed we have to notify the framework
to transport data to the model
re_changed = mmpur_yes.
endif.
when subscreen2.
Getting header data from screen fields
call function 'ZPTP_POP_HEADER'
importing
ex_dynp_datahd = dynp_data_paihd.
if dynp_data_paihd ne dynp_data_pbohd
or dynp_data_pai ne dynp_data_pbo.
If data changed we have to notify the framework
to transport data to the model
re_changed = mmpur_yes.
endif.
when others.
endcase.
<b>6. TRANSPORT_TO_MODEL</b>
Description
Treatment of Function Codes
Detailed logic
case im_name.
when subscreen1.
is it an item? im_model can be header or item.
mmpur_dynamic_cast lif_item im_model.
check not lif_item is initial.
lwa_mepoitem = lif_item->get_data( ).
standard fields changed?
if dynp_data_pbo-ebeln ne dynp_data_pai-ebeln or
dynp_data_pbo-ebelp ne dynp_data_pai-ebelp or
dynp_data_pbo-zz_retainage ne dynp_data_pai-zz_retainage.
update standard fields
lwa_mepoitem-ebeln = dynp_data_pai-ebeln.
lwa_mepoitem-ebelp = dynp_data_pai-ebelp.
lwa_mepoitem-zzretainage = dynp_data_pai-zz_retainage.
call method lif_item->set_data( lwa_mepoitem ).
endif.
customer fields changed?
if dynp_data_pbo-zz_retainage ne dynp_data_pai-zz_retainage.
call function 'ZPTP_GET_DATA_ITEM'
exporting
im_ebeln = lwa_mepoitem-ebeln
im_ebelp = lwa_mepoitem-ebelp
importing
ex_data = lwa_customer.
lwa_customer-zz_retainage = dynp_data_pai-zz_retainage.
Commit changes to database.
call function 'ZPTP_SET_DATA_ITEM'
exporting
im_data = lwa_customer.
endif.
when subscreen2.
is it an header? im_model can be header or item.
mmpur_dynamic_cast lif_header im_model.
check not lif_header is initial.
lwa_mepohead = lif_header->get_data( ).
standard fields changed?
if dynp_data_pbohd-ebeln ne dynp_data_paihd-ebeln or
dynp_data_pbohd-zz_exptype ne dynp_data_paihd-zz_exptype.
update standard fields
lwa_mepohead-ebeln = dynp_data_paihd-ebeln.
lwa_mepohead-zzexptype = dynp_data_paihd-zz_exptype.
call method lif_header->set_data( lwa_mepohead ).
endif.
customer fields changed?
if dynp_data_pbohd-zz_exptype ne dynp_data_paihd-zz_exptype.
call function 'ZPTP_GET_DATA_HEADER'
exporting
im_ebeln = lwa_mepohead-ebeln
importing
ex_head = lwa_customerhd.
lwa_customerhd-zz_exptype = dynp_data_paihd-zz_exptype.
Commit changes to database.
call function 'ZPTP_SET_DATA_HEADER'
exporting
im_datahd = lwa_customerhd.
endif.
when others.
endcase.
<b>
B. ZCL_IM_ME_PROCESS_PO_CUST</b>
Description
Imp. Class for BAdI imp. ZME_PROCESS_PO_CUST
Methods
Name Level Visibility
IF_EX_ME_PROCESS_PO_CUST~INITIALIZE Instance Attribute Public
IF_EX_ME_PROCESS_PO_CUST~OPEN Instance Attribute Public
IF_EX_ME_PROCESS_PO_CUST~PROCESS_HEADER Instance Attribute Public
IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM Instance Attribute Public
IF_EX_ME_PROCESS_PO_CUST~POST Instance Attribute Public
IF_EX_ME_PROCESS_PO_CUST~CLOSE Instance Attribute Public
<b>
1. INITIALIZE</b>
Description
Initializations (Invoked Once Only)
Detailed logic
initializations
call function 'ZPTP_INIT'.
<b>2. OPEN</b>
Description
Open a Purchase Order
Detailed logic
data: lwa_mepoheader type mepoheader.
read customer data
this has to be done when we open a persistent object
check im_trtyp eq 'V' or im_trtyp eq 'A'.
lwa_mepoheader = im_header->get_data( ).
read customer data from database
call function 'ZPTP_OPEN'
exporting
im_ebeln = lwa_mepoheader-ebeln.
<b>3. PROCESS_HEADER</b>
Description
Processing of Header Data
Detailed logic
data: lwa_mepohead type mepoheader,
lwa_customerhd type ztptp_header.
include mm_messages_mac. "useful macros for message handling
here we check customers data
lwa_mepohead = im_header->get_data( ).
if lwa_mepohead-loekz eq 'D'.
a physical deletion of the header was carried out.
lwa_customerhd-ebeln = lwa_mepohead-ebeln.
call function 'ZPTP_SET_DATA_HEADER'
exporting
im_datahd = lwa_customerhd
im_physical_delete_request = 'X'.
endif.
<b>4. PROCESS_ITEM</b>
Description
Processing of Item Data
Detailed logic
data: lwa_mepoitem type mepoitem,
lwa_customer type ztptp_item.
include mm_messages_mac. "useful macros for message handling
here we check customers data
lwa_mepoitem = im_item->get_data( ).
if lwa_mepoitem-loekz eq 'D'.
a physical deletion of the item was carried out. therrefor we have to
delete customer data on the level of the item
lwa_customer-ebeln = lwa_mepoitem-ebeln.
lwa_customer-ebelp = lwa_mepoitem-ebelp.
call function 'ZPTP_SET_DATA_ITEM'
exporting
im_data = lwa_customer
im_physical_delete_request = 'X'.
endif.
<b>5. POST</b>
Description
Post
Detailed logic
*Posting header data
call function 'ZPTP_POST_HEADER'
exporting
im_ebeln = im_ebeln.
*Posting item data
call function 'ZPTP_POST_ITEM'
exporting
im_ebeln = im_ebeln.
<b>
6. CLOSE</b>
Description
Closing Processing
Detailed logic
close customer data
call function 'ZPTP_INIT'. -
Web-services enhancement for MS Word
Hi,
I have done all the steps described in the blog /people/community.user/blog/2008/11/18/web-services-enhancement-for-ms-word-integration-in-crm-2007 about Web-services enhancement for MS Word, but the last step I did not complete successfully.
When I start the template designer no offer structure OUTPUT of web service, the template is blank.
The funny thing is that when I delete the APPEND structure with fields Z, and I press Check button and activate the web service again I have no problem, I start the template designer and reappear standard fields.
Anyone have any idea what happens?
Thanks and regardsHi,
You may have to upgrade your MS word 2003 to MS Word 2007.
Before you do that please opening View > toolbars > Task Pane and check if you can get XML Schema from the web service.
Regards,
Sandeep Chavan -
XML scheme and Web services enhancement for MS Word integration in CRM 2007
Hi,
I am trying to use the Template designer and the web services tool in order to create a MS Word template for the quotation.
We have created a new web service, using the Web Service Tool
(transaction BSP_WD_CMPWB, type WS_DESIGN_TOOL). I can use this web service when creating a quotation word template and everything works fine.
I need to enhance the web service with some custom fields and logic. I found the blog:
Web-services enhancement for MS Word integration in CRM 2007
/people/community.user/blog/2008/11/18/web-services-enhancement-for-ms-word-integration-in-crm-2007
The blog describe how to enhance the web service, extend the output
structure etc.
We have done all the steps in the blog, and everything looks fine. When
we test the web service, using the Web Service Navigator, all the new
fields we added to the output structure are displayed. The WSDL
document also looks fine, displayed from the Web Service
Administration.
The problem occur when try to create the word template using the
Template Designer. The XML scheme is not displayed in the word
document. This only happens if we use an enhanced web service.
Anyone familiar with this issue?
Kind regards,
Johan WigertHi,
You may have to upgrade your MS word 2003 to MS Word 2007.
Before you do that please opening View > toolbars > Task Pane and check if you can get XML Schema from the web service.
Regards,
Sandeep Chavan -
Hi Experts,
When i do Extended Syntax check to a pgm i am getting Priorty2 error like this:
"After a structure enhancement, assignment or comparison may no longer be permitted"
which i have to resolve..Can any body let me know how to solve this?
T_EXTENSIONIN LIKE BAPIPAREX OCCURS 0 WITH HEADER LINE.
CLEAR T_EXTENSIONIN.
T_EXTENSIONIN-STRUCTURE = 'BAPE_VBAK'.Hi,
Substitute T_EXTENSIONIN-VALUEPART1 assignment with this piece of code.
DATA: BEGIN OF T_DNTAB OCCURS 0.
INCLUDE STRUCTURE DNTAB.
DATA: END OF T_DNTAB.
data: temp(284) type c.
data fname(50) type c.
data temp1 type string.
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
langu = sy-langu
tabname = 'BAPE_VBAK'
TABLES
nametab = t_dntab.
loop at i_dntab.
concatenate '<workarea for the table>' '-' t_dntab-fieldname into fname.
assign (fname) to <fs1>.
move <fs1> to temp1.
concatenate temp temp1 into temp.
endloop.
T_EXTENSIONIN-STRUCTURE = 'BAPE_VBAK'.
T_EXTENSIONIN-VALUEPART1 = temp.
*******************************Reward points if found useful**********************
Regards,
Kriththika. -
Enhancement for partner determination in STO
Hello, SAP gurus!
We are working on enhancement to copy CR partner role (forwarding agent) from supplying plant's vendor master to STO partner tab. We have found a way, how to select the data and fill it in structure MMPA, which will update STO partner data during STO save. The problem we are facing now is the missing partner data in parnters tab on ME21N screen, when the data is copied. Data is filled in MMPA structure, but something is still missing so it is not displayed on screen, thus it cannot be changed or seen.
Has anyone figured out working solution for this, as SAP does not support partner determination for STO's sccording to note 117537?
Thanks in advance!Hi,
You need debug the T-code ME21N and see from which run time structure does ME21N displays data on the screen.
And you will also write an enhancement for ME21N.
Hope this is of help to you!
Reetesh -
Unable to change Extract structure MC03BF0 for DataSource 2LIS_03_BF
Hi all
In LBWE in R/3, I need the change the extract structure MC03BF0 for DataSource 2LIS_03_BF, by including some fields from MCMSEG pool. On including these fields from MCMSEG pool on the right side table to the left side table, and on confirming these entries, I get the following error message,
' Struct. from appl. 03 due to open V3 proc. not changed '.
The long text for this message is :
'Diagnosis
Changing the extract structure MC03BF0 of application 03 is not allowed as there are no V3 update entries for the update module MCEX_UPDATE_03.
If an extract structure is changed for which there are still open V3 updates, these can no longer be updated and the V3 collective update is terminated.
Procedure
Start the V3 update using the "Job Control" function in the customizing cockpit (transaction yDS:TRAN.LBWE>LBWE) or delete those update entries that are already incorrect. You will find these in the update overview.'
Please guide me with what is to be done so that I can maintain the extract structure.
Thanks
UrmiJelina,
I think still some records available at SM13 clear it aswell.
Clear records at LBWQ, SM13, RSA7, Setuptables in all CLIENTS of R/3 and check.
Still a problem, then instead of enhancing datasource from RSA6, take extract structure name and enhance from SE11.
P.S: Its better to create a new post by referencing same thread, so you can close call by assigning poings.
Srini -
Looking for enhancement for the price control of purchasr oder
Hi,
I'm Looking for enhancement for the price control of purchasr oder
I need to develop programs to control the price of purchase orders according to some special rules while purchase order is creating, so,
can anybody tell me which enhancement is beeter to adopt?
Thanks and best regards.hi
following are there for purchase order...
AMPL0001 User subscreen for additional data on AMPL
LMEDR001 Enhancements to print program
LMELA002 Adopt batch no. from shipping notification when posting a
LMELA010 Inbound shipping notification: Transfer item data from IDO
LMEQR001 User exit for source determination
LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt
LWSUS001 Customer-Specific Source Determination in Retail
M06B0001 Role determination for purchase requisition release
M06B0002 Changes to comm. structure for purchase requisition releas
M06B0003 Number range and document number
M06B0004 Number range and document number
M06B0005 Changes to comm. structure for overall release of requisn.
M06E0004 Changes to communication structure for release purch. doc.
M06E0005 Role determination for release of purchasing documents
ME590001 Grouping of requsitions for PO split in ME59
MEETA001 Define schedule line type (backlog, immed. req., preview)
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MEVME001 WE default quantity calc. and over/ underdelivery toleranc
MM06E001 User exits for EDI inbound and outbound purchasing documen
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into PO
MM06E008 Monitoring of contr. target value in case of release order
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MM06E011 Activate PReq Block
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound processin
MMAL0004 ALE purchasing info record distribution: Inbound processin
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order
MRFLB001 Control Items for Contract Release Order
No of Exits: 36
to search for any enhancement you can use the following prog..
report zfinduserexit.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
execute the report and enter the transaction for which u want to find the enhancement and execute. it would show the available enhancements for that tcode.
<b>Please do reward if useful</b>
Regards
Dinesh -
Hi Everyone,
In Epc I am getting the following error in the structure enhancements
The data type T9IDA can be enhanced in any way. After a structure enhancement,
this assignment or parameter might be syntactically incorrect . . . . . . . . .
Internal Message Code: MESSAGE G:P
Can any one has the solution for this....
Thanks in Advance,
BadriHi,
This is because the structure which u are using has an enhancement category as 'Can be Enhanced'. If u want to see the enhancement category goto se11. Give ur structure name and give display. Then take the menu Extras->Enhancement category. U will find the enhancement category of ur structure/table. If this is a custom table(Z*), then u can change the enhancement category as 'Cannot be Enhanced'. This u can do only if u are sure that this structure will not have any enhancements in the future.
If it is a standard table then u wont be able to do anything.
Usually these kind of errors can be ignored.
Keerthi. -
Suggest EnhanceMent For SALES area determination In stock Transfer.
Suggest EnhanceMent For SALES area determination In stock Transfer.
V02V0001 Sales area determination for stock transport order Doesnt Work,Is user exit required, as the sales area will be different. Incase of Intra company stock transfer the process will be as under:
Create Purchase Order (ME21N)
Create Delivery in background (VL04, VL10a, VL10C, etc)
Change Delivery for picking / packing & PGI (VL02n)
Create Billing Document (VF01)
Assumption: Stock Transfer configuration is in place. Assistance can be taken from SAP Best Practices in help.sap.com
Incase of Inter-company, the process will be as under:
Create Sales Order (VA01)
Create Delivery (VL01N, etc)
Change Delivery (VL02N)
Create Billing Document (VF01)
Assumption: Configuration is in place. Assistance can be taken from SAP Best Practices in help.sap.com
Regards,
Rajesh Banka -
Badi / Exit / Enhancement for replacing INSMK during PO creation
Hi Gurus,
we want to default the INSMK field (stock type) during Purchase Order creation..
Can someone help me findind the right BAdI / exit / enhancement for it?
Thanks in advance,
Regards,
AlessioHi Alessio,
You may check these first:
Re: Negative postings to MVER table
Re: select stock type
Thanks,
Gordon -
I need the drivers of EDR Enhanced for LabVIEW 8.6 or more, please.
Hello, I want to acquire a signal with the microDAQ-Lite of EAGLE Technology and I need the EDR Enhanced LabView Driver. The one I have is for labview 6.x or 7. Currently I am working in Labview 2010 so I am needing the drivers for this version. I have found in a webpage (http://edr-enhanced-for-labview.software.informer.com/8.5/ ) that a version developed by National Instruments for version 8.5 exists, it says it is free, but i cant find it. Does anyone knows if a newer version exist? or where can I find the latest one?? Please help.
Thanks in advance.
Alejandra NI does not develop drivers for third-party DAQ devices. Contact the vendor or use the driver you have. You can load version 6 and 7 into LabVIEW 2010.
Maybe you are looking for
-
Can you wrap an image with a link in an html email signature?
When I cite a remotely hosted image in an html signature, and try to make that image a link, the link is ignored and the just the image is shown. e.g.: <a href="https://www.facebook.com/pages/Ubiquia/146019678805381" target="_blank"> <img style=" pos
-
Can I embed Java in a .pdf?
As the title asks... I am wondering if it is possible to embed a Java app into a pdf? If so, can someone point me towards some documentation on how to? Thank you!
-
Charm: No Domain Controller for SB5
Hi, I configured Charm in solution Manager 4.0, created a satellite system SB5 in smsy and run the batch to get the info to charm. now i have it in /tmwflow/cmsconf but when i synchronize the project in solar_admin_project we get the error No Domain
-
Slow report - more than 20000 rows
When i use a pagination refresh page take more than minute for every page(much to slow). without pagination less then second. how can i solve pagination without visible loosing performance?
-
Trying to transfer apps to new laptop
Hi Apple community. I'm trying to to transfer my apps to new laptop (Windows Vista to 7) and in turn sync these to and new iPhone (4 to 4S). I have copied apps via external hard drive to 'Mobile Applications' folder in new laptop but when trying to s