Obligatory node missing in the structure
HI,
I am posting an idoc from XI to SAP. I'm getting a message
<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
<SAP:P1>Obligatory node 'E1MBXYH' missing in the structure WMMBID01 ZMCTWAHR</SAP:P1>
I am getting the same message for all of my sap inbound interfaces. Do u think this is a mapping issue ?
The metadata in IDX2 looks good to me and if you look at the payload , it looks like the idoc is formed correctly
<?xml version="1.0" encoding="UTF-8" ?>
- <ZMCTWAHR>
- <IDOC BEGIN="1">
- <E1MBXYH>
<BLDAT>20070114</BLDAT>
<BUDAT>20070109</BUDAT>
- <Z1CT000>
<WHSENUM>6</WHSENUM>
<ERDAT>101002</ERDAT>
<SEQNBR>3</SEQNBR>
</Z1CT000>
- <E1MBXYI SEGMENT="1">
<MATNR>25-50093-01</MATNR>
<BWART>R</BWART>
<LIFNR />
<ERFMG>69</ERFMG>
- <Z1MCTIN>
<OWNER_ID />
<MODEL_LOT />
<CTRY_CODE />
<SINGLPLATE>0</SINGLPLATE>
<IBNDORDNUM />
<IBNDORDTYP />
<ORIGHOLCAT>HOLD</ORIGHOLCAT>
<NEWHOLCAT />
</Z1MCTIN>
</E1MBXYI>
</E1MBXYH>
</IDOC>
</ZMCTWAHR>
ZMCTWAHR is the enhancement to WMMBID01.
Please also look at another example
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
<SAP:P1>Obligatory node 'Z1CT000' missing in the structure ZDCTDSTA</SAP:P1>
<SAP:P2 />
<?xml version="1.0" encoding="UTF-8" ?>
- <ZDCTDSTA>
- <IDOC BEGIN="1">
- <Z1CT000>
<WHSENUM>6</WHSENUM>
<ERDAT>20070101</ERDAT>
<ERZET>110101</ERZET>
<SEQNBR>6</SEQNBR>
- <Z1DCTS0>
<VBELN>7080056</VBELN>
<BOLVL />
<OUTORDTYPE>SYST</OUTORDTYPE>
- <Z1DCTS1>
<POSNR>10</POSNR>
</Z1DCTS1>
</Z1DCTS0>
</Z1CT000>
</IDOC>
</ZDCTDSTA>
Similar Messages
-
Error: Obligatory node 'E1MAKTM' missing in the structure
Hello All
I extended material master IDOC.
After extending, the segments look like this:
ZMATMAS05
- E1MARAM
- ZEXTENDED_SEGMENT
- E1MARA1
- E1MAKTM
- E1MARCM
so on and so forth.
When I create idocs, I get a message saying that the message is successfully sent. When I see in SM58, I see the message "Obligatory node 'E1MAKTM' missing in the structure".
The idoc which is created has E1MAKTM segment, but it is still giving the error. Am I extending at the wrong position?
Thanks
Nagalooking at this
ZMATMAS05
- E1MARAM
- ZEXTENDED_SEGMENT
- E1MARA1
- E1MAKTM
- E1MARCM
makes me just feel that all your segments are at the same level.
but usually the E1MAKTM is a sublevel to E1MARAM
so it should look like this:
ZMATMAS05
- E1MARAM
- -ZEXTENDED_SEGMENT
- -E1MARA1
- -E1MAKTM
- -E1MARCM
- - -E1MARDM -
Obligatory node 'E1KONP' missing in the structure
Hi Experts,
I am extending cond_a04 idoc. am adding the custom segment as the child segment of E1KONH. Am populating the custom fields of this segment in an enhancement in LVKOEF01. This segment is populating and the idoc is successful but its not reaching PI side. In SM58 it shows status text as "Obligatory node 'E1KONP' missing in the structure" and the function module it shows in SM58 is "IDOC_INBOUND_ASYNCHRONOUS". Am confused. When sent without this extended segment its reaching PI side. What might be the problem??hi
they have imported and updated the idoc definition.
Problem solved.
Need to check the structure in IDX. structure in IDX was wrong. when changed this it is reaching PI.Thanks.
Regards
Sridevi S
Edited by: Sridevi Sivanandam on Aug 5, 2010 2:59 PM -
Obligatory node 'ZMAT_SPO' missing in the structure IDOC
Hello,
Scenario is : File - IDOC
I am trying to post the contents of the file into Matmas
The file gets picked and shows up a red color flag with the error : :Obligatory node 'ZMAT_SPO' missing in the structure Matmas04 Matmas04 "
I tried by disabling segment ZMAT_SPO, tried mapping to a constant.
nothing worked
When I copy the payload from moni, and do test in MM, its successful
What could be the problem?
thanks
nikhil.
Edited by: nikhil a on Jan 21, 2008 9:52 AMHere is the error message:
<!-- ************************************
-->
<Trace level="1" type="T">Message-GUID = 8F7E3AA0C7FD11DC9E5600132165C741</Trace>
<Trace level="1" type="T">PLNAME = CENTRAL</Trace>
<Trace level="1" type="T">QOS = EO</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />
- <!-- ************************************
-->
<Trace level="1" type="T">Get definition of external pipeline = CENTRAL</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
<Trace level="1" type="T">Get definition of internal pipeline = SAP_CENTRAL</Trace>
<Trace level="1" type="T">Queue name : XBTI0000</Trace>
<Trace level="1" type="T">Generated prefixed queue name = XBTI0000</Trace>
<Trace level="1" type="T">Schedule message in qRFC environment</Trace>
<Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">Going to persist message</Trace>
<Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
<Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
<Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>
<Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!-- ************************************
-->
<Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
<Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
<Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
I disabled that field in the course of MM in IR
do I need to reimport when i do this? i dont think so .....
nikhil -
Obligatory node 'E1OILKV' missing, Not getting'12'Status fromR/3 to XI Port
Hi,
I am sending the Customer Master Data from R/3 to XI. I enhanced the Idoctype OILDEB06 to ZOILDEB06. I am getting the message code status as 03. "Data sent to the Port". But if i execute the the Report RBDMOIND. It is not moving to status 12. "Despatch Ok".
I Got the error message in the tRFC as "Obligatory node 'E1OILKV' missing in the structure".
I am able to see the structure E1OILKV in the IDoc with data. But why this error is coming.
Could any one can help on this Issue.
Thanks and Regards,
Venkat.The Idoc is going to the Recieving End only till the General View and Company Code view. E1OILKV Segment comes under the Sales View. Since Sales view is not changed it is not capturing the Change Pointers. If Sales view is avilable in the Idoc it is not going to the XI Port. tRFC gives the error.
We checked for other Idocs Which were enhanced. Those other IDocs{example Cost center,Vendor Idocs} are going.
I tried to send the Standard Idoc OILDEB without the Enhancements. It is going to the XI Port. Once i Send the OILDEB06 With Enhancements. It gives that error.Obligatory node 'E1OILKV' missing in the structure. As i already said, I am able to see Data in this segment using the Idoc editor. But not fully moved to the Configured XI Port.
Thanks,
Venkat. -
Data package is missing in the return structure
Hi BW Folks,
I have an issue with ODS activation.While activating the data in ODS object am getting following error message
Activation of data records from ODS object XXXX terminated.
data package XXXXX contains errors with status 9 in table 'XX' but this data package is missing in the return structure.
In detail: The data package is entered in the return structure as incorrect.
Can anyone provide me the solution. Thanks in advance. Have a nice time!
Regards,
Nani.HI
Check these links
Re: Status 9 error when activating an ODS in a Process Chain
ODS activation error - status 9
Error while data loading-terminated with Status 9
Error while data loading-terminated with Status 9
hope it helps
regards
CK
Assing points if usefull -
How to set values to the structure containing a node with cardinality 0..n
Hello.
I 'm trying to set values for the node with cardinality 0..n. The node type is "Fields".
<xsd:complexType name="Field">
<xsd:sequence>
<xsd:element name="fieldCode" type="xsd:string"></xsd:element>
<xsd:element name="displayValue" type="xsd:string" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Fields">
<xsd:sequence>
<xsd:element name="field" type="tns:Field" minOccurs="0" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
I need to set several values for the element "fieldCode" but it has cardinality 0..1 and BPM does not allow it but I did not find any option about how to set values for the structure of type "Fields". Could you help me?
Best regards,
Timur SemenchukHi Marcus,
If there is no way you could change the cardinality of the node, and thus it can contain 0..n items, I think you should create-and-add a new element programmatically.
Since the collection can contain zero elements, I would add a 'new' button, which upon clicking adds one new element via:
IYourNodeElement yourNodeElem = wdContext.nodeYourNode().createYourNodeElement();
wdContext.nodeYourNode().addElement(yourNodeElem);
Hope this explains a bit!
Best,
Robin van het Hof -
How to access the structure of a dynamically created context node/element
Hi All,
in method wddoinit I have added a context node and some attributes
lo_node = wd_context->get_child_node( name = wd_this->wdctx_instructors ).
lo_node_info = lo_node->get_node_info( ).
lo_node_info = lo_node_info->add_new_child_node( name = 'OCCUPANCY'
is_mandatory = abap_true
is_multiple = abap_false
is_multiple_selection = abap_false ).
lo_node_info->add_attribute( ls_attr ).
So far, I have node INSTRUCTORS (0...n) with a subnode OCCUPANCY (1...1)
In the supply_method of INSTRUCTORS I would like to fill the instructors node and the OCCUPANCY subnode.
The thing is I do not know the structure of the dynamicaly created subnode OCCUPANCY there. How can I get a description of this node (that, what in non-dynamic programming would be wd_this->element_occupancy...)??
THANKS,
Johannes...I got this one solved by myself...
I simply added this coding:
lo_node_info = lo_node->get_node_info( ).
lt_attributes = lo_node_info->get_attribute_names( ).
This appers to be enough information to be good to gogo
Thanks anyway. -
Hello everybody,
I am using Property Nodes to clear my Charts right at the beginning of the program. The Property Nodes (History) are outside a While-loop.
When I connect a Chart with the counter-variable "i" inside a While-loop, the first point I see in the Chart is (0,1) instead of (0,0). It looks like the Chart misses the first point !
If the Chart is outside the While-loop the Chart displays all points.
Can anyone please explain this behaviour ? How can I solve this problem ?
Thanks,
CesarMake sure you have the error output from the property node connected to
the loop border. Even if the error os not used in the loop, this will
ensure that the property node clears the chart before the loop starts
running.
What is probably happening is the loop start running at the same time
the chart is being cleared, so the first point is also being cleared.
Ed
Message Edited by Ed Dickens on 04-11-2006 09:50 AM
Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
Attachments:
Clear chart before loop.gif 4 KB -
Create a text file in KM and add the structure of a node
Hello Everybody,
could some one please advise on how do I write the data stored in my node (elements) as string into a text file? How can i create a text file and add the structure of my node to it? I can just walk through my node recursively.
Any help would be highly appreciated.
Thanks in advance.
Regards,
SeedAre you referring to a org.w3c.dom.Node?
In that case, the simplest approach would be to use KM's XML serializer (http://help.sap.com/javadocs/NW04s/current/km/com/sapportals/wcm/util/xml/SimpleSerializer.html)
BR, Julian -
Column headings are missing in the output for ALV?
Hi all,
i have coded a small report in ALV mode. i am getting the data but the column headings are missing.
iam not getting the column headings in the output. it is coming as blank. Could you all please help me out in this?
below is the code of my program:
Includes *
*---Standard header and footer routines
INCLUDE zsrepthd.
*--- ALV Routines
INCLUDE zvsdi_alv_routines_ver3.
*--- Authorization Check
INCLUDE z_selection_auth_check.
Types Declarations *
tables : ekpo.
Types Declarations *
TYPES: BEGIN OF ty_ekpo,
EBELN(18) TYPE C,
EBELP(20) TYPE C,
MATNR(18) TYPE C,
WERKS(11) TYPE C,
END OF ty_ekpo.
*-Output field name
TYPES: BEGIN OF ty_output,
EBELN(18) TYPE C,
EBELP(20) TYPE C,
MATNR(18) TYPE C,
WERKS(11) TYPE C,
END OF ty_output.
*-Output field name
TYPES: BEGIN OF ty_fields,
fname(60) TYPE c,
END OF ty_fields.
Internal Table Declarations *
DATA:it_ekpo TYPE STANDARD TABLE OF ty_ekpo,
*--- Alv parameters
it_out_alvp TYPE typ_alv_form_params, "for alv parameters
*-Field catalog for ALV display
it_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
*-Field names for Excel column headings
it_ekpo_fields TYPE STANDARD TABLE OF ty_fields WITH HEADER LINE.
**--To store output for Principial Pegging data
DATA: BEGIN OF it_output occurs 0,
EBELN(18) TYPE C,
EBELP(20) TYPE C,
MATNR(18) TYPE C,
WERKS(11) TYPE C,
END OF it_output.
**--To store output for 2nd
DATA: BEGIN OF it_output1 occurs 0,
text(2000),
END OF it_output1.
Data Declarations *
data: v_ebeln TYPE ekpo-ebeln,
v_ebelp TYPE ekpo-ebelp,
v_matnr TYPE ekpo-matnr,
v_werks TYPE ekpo-werks.
Constants Declarations *
CONSTANTS:
c_0 TYPE i VALUE 0,
c_x TYPE char1 VALUE 'X',
c_i TYPE char1 VALUE 'I',
c_eq TYPE char2 VALUE 'EQ',
c_ekpo TYPE char4 VALUE 'EKPO',
c_hyfn TYPE char1 VALUE '-'.
Work Area Declarations *
DATA: x_output_ekpo type ty_output,
x_ekpo type ty_ekpo.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-f01.
SELECT-OPTIONS:
s_ebeln FOR v_ebeln OBLIGATORY,
s_ebelp FOR v_ebelp,
s_matnr FOR v_matnr,
s_werks FOR v_werks.
SELECTION-SCREEN END OF BLOCK b1.
At Selection Screen *
AT SELECTION-SCREEN.
Start-of-Selection *
START-OF-SELECTION.
*--- Check Authorizations for Selection-screen
PERFORM z_selection_auth_check.
*--- Fetch Purchasing Document Item data
PERFORM fetch_status_pp.
End-of-Selection *
END-OF-SELECTION.
**-- Download data to final internal table.
PERFORM data_output.
IF NOT it_output[] IS INITIAL.
*--- Fill the structure for calling the ALV form
PERFORM initialize_alv_params.
**-- Display ALV Report
PERFORM setup_and_display_alv_ver2
USING
it_out_alvp "Parameter structure
it_output[] "Internal Data table(header table)
it_output[]. "Dummy table for Hierarchical ALV!!(item table)
ENDIF.
IF it_output[] IS INITIAL.
MESSAGE i999(zi) WITH 'No data found for selection'(i02).
ENDIF.
*& Form FETCH_STATUS_PP
Get data from ekpo table
FORM FETCH_STATUS_PP .
*-Fetch PP Data from ekpo table
REFRESH it_ekpo.
SELECT EBELN
EBELP
MATNR
WERKS
FROM ekpo
INTO TABLE it_ekpo
WHERE ebeln IN s_ebeln
AND ebelp IN s_ebelp.
IF sy-subrc = c_0.
SORT it_ekpo BY ebeln ebelp.
ENDIF.
ENDFORM. " FETCH_STATUS_PP
*& Form f_top_of_page
*This is to write the top of page
FORM top_of_page.
DATA: lt_list TYPE slis_t_listheader,
lx_list TYPE slis_listheader.
*--- Title name
CLEAR lx_list.
lx_list-typ = 'S'.
lx_list-key = 'Title name'(t13).
lx_list-info = sy-title.
APPEND lx_list TO lt_list.
IF NOT lt_list IS INITIAL.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = lt_list.
ENDIF.
ENDFORM. "top_of_page
*& Form init_page_head
Description : This subroutine initializes the fields in table BHDGD *
for printing the report heading. *
FORM init_page_head.
bhdgd-line1 = 'SLA Status Report'(h04).
bhdgd-line2 = sy-title.
bhdgd-lines = sy-linsz.
bhdgd-fcpyrt = sy-uline.
bhdgd-inifl = '0'.
ENDFORM. "init_page_head
*& Form initialize_alv_params
Description : Form to initialize ALV Params
FORM initialize_alv_params.
CONSTANTS: lc_alv_grid TYPE char1 VALUE 'G', "Grid
lc_u TYPE char1 VALUE 'U'.
MOVE 'IT_OUTPUT' TO it_out_alvp-tablname. "final table
MOVE sy-repid TO it_out_alvp-repid.
MOVE lc_alv_grid TO it_out_alvp-alvtype.
MOVE c_x TO it_out_alvp-bringdefaultvar.
MOVE lc_u TO it_out_alvp-variantsavetype.
ENDFORM. " initialize_alv_params
FORM it_out_init_events *
-->this is form is to modify the events
FORM it_out_init_events
CHANGING
alevnts TYPE slis_t_event.
FIELD-SYMBOLS <alevnt> TYPE slis_alv_event.
LOOP AT alevnts ASSIGNING <alevnt>.
CASE <alevnt>-name.
WHEN slis_ev_top_of_page.
MOVE 'TOP_OF_PAGE' TO <alevnt>-form.
ENDCASE.
ENDLOOP.
ENDFORM. "it_out_init_events
*& Form DATA_OUTPUT
Download data to final internal table
FORM DATA_OUTPUT .
loop at it_ekpo into x_ekpo.
x_output_ekpo-ebeln = x_ekpo-ebeln.
x_output_ekpo-ebelp = x_ekpo-ebelp.
x_output_ekpo-matnr = x_ekpo-matnr.
x_output_ekpo-werks = x_ekpo-werks.
append x_output_ekpo to it_output.
endloop.
ENDFORM. " DATA_OUTPUT
FORM it_out_alv_fieldcat_before *
--> PT_FCAT *
--> ALVP *
FORM it_out_alv_fieldcat_before CHANGING
pt_fcat TYPE slis_t_fieldcat_alv
alvp TYPE typ_alv_form_params.
DATA: lx_fcat TYPE slis_fieldcat_alv.
CLEAR lx_fcat.
lx_fcat-tabname = 'IT_OUTPUT'.
lx_fcat-fieldname = 'EBELN'.
lx_fcat-col_pos = '1'.
lx_fcat-ddictxt = 'M'.
lx_fcat-seltext_l = 'Purchasing Doc No'(018).
lx_fcat-seltext_m = 'Purchasing Doc No'(018).
lx_fcat-seltext_s = 'Purchasing Doc No'(018).
lx_fcat-reptext_ddic = 'Purchasing Doc No'(018).
APPEND lx_fcat TO pt_fcat.
CLEAR lx_fcat.
lx_fcat-tabname = 'IT_OUTPUT'.
lx_fcat-fieldname = 'EBELP'.
lx_fcat-col_pos = '1'.
lx_fcat-ddictxt = 'M'.
lx_fcat-seltext_l = 'Item No Purchasing Doc'(020).
lx_fcat-seltext_m = 'Item No Purchasing Doc'(020).
lx_fcat-seltext_s = 'Item No Purchasing Doc'(020).
lx_fcat-reptext_ddic = 'Item No Purchasing Doc'(020).
APPEND lx_fcat TO pt_fcat.
CLEAR lx_fcat.
lx_fcat-tabname = 'IT_OUTPUT'.
lx_fcat-fieldname = 'MATNR'.
lx_fcat-col_pos = '1'.
lx_fcat-ddictxt = 'M'.
lx_fcat-seltext_l = 'Material'(010).
lx_fcat-seltext_m = 'Material'(010).
lx_fcat-seltext_s = 'Material'(010).
lx_fcat-reptext_ddic = 'Material'(010).
APPEND lx_fcat TO pt_fcat.
CLEAR lx_fcat.
lx_fcat-tabname = 'IT_OUTPUT'.
lx_fcat-fieldname = 'WERKS'.
lx_fcat-col_pos = '1'.
lx_fcat-ddictxt = 'M'.
lx_fcat-seltext_l = 'Supply plant'(013).
lx_fcat-seltext_m = 'Supply plant'(013).
lx_fcat-seltext_s = 'Supply plant'(013).
lx_fcat-reptext_ddic = 'Supply plant'(013).
APPEND lx_fcat TO pt_fcat.
ENDFORM. " it_out_alv_fieldcat_before.
Regards,
Shalini
Edited by: shalini reddy on Oct 7, 2008 5:08 PMHi,
The heading are in the table pt_fcat - you don't seem to be passing that in form....
PERFORM setup_and_display_alv_ver2
USING
it_out_alvp "Parameter structure
it_output[] "Internal Data table(header table)
it_output[]. "Dummy table for Hierarchical ALV!!(item table)
which I guessing in in one of the includes?
Saying that the extract pof code does not show where you are calling form it_out_alv_fieldcat_before ...which populates the headings...
Regards
Stu -
Field names Missing in the (Excel) Mail attachment
Hi ,
I am trying to send my ALV Grid Output as Excel Email attachment using the below code
The problem is that the field names are missing in the receivers Mail.
i.e
*Name* *Emp Code* * Branch* "this is missing
abc 123 ukp
I searched many threads but unable to find the solution for this.
Kindly suggest me regarding this issue.
loop at p_eadd.
if p_eadd-low <> space.
clear reclist.
reclist-rec_type = 'U'. "Internet-adress
reclist-receiver = p_eadd-low.
reclist-express = 'X'.
append reclist.
endif.
endloop.
* endif.
* Send the document
call function 'SO_NEW_DOCUMENT_SEND_API1'
exporting
document_type = 'RAW'
document_data = doc_chng
* PUT_IN_OUTBOX = 'X'
tables
object_content = objcont
receivers = reclist
exceptions
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
others = 99.
ld_aplstat = '4'.
case sy-subrc.
when 0.
loop at reclist.
if reclist-receiver = space.
name = reclist-rec_id.
else.
name = reclist-receiver.
endif.
if reclist-retrn_code = 0.
write: / name, ': succesfully sent'.
else.
write: / name, ': error occured'.
endif.
endloop.
ld_aplstat = '0'.
when 1.
write: / 'Too many receivers specified !'.
when 2.
write: / 'No receiver got the document !'.
when 4.
write: / 'Missing send authority !'.
when others.
write: / 'Unexpected error occured !'.
endcase.
*.Tell workflow to go on
clear ls_scma_event.
ls_scma_event-wf_event = cs_wf_events-finished.
ls_scma_event-wf_witem = wf_witem.
ls_scma_event-wf_okey = wf_okey.
call function 'KPEP_MONI_CLOSE_RECORD'
exporting
ls_key = gs_key
ls_scma_event = ls_scma_event
changing
ld_aplstat = ld_aplstat
exceptions
no_id_given = 1
others = 2.
call function 'SAP_CONVERT_TO_XLS_FORMAT'
exporting
i_field_seperator = ' '
i_line_header = 'X'
i_filename = p_file
* I_APPL_KEEP = ' '
tables
i_tab_sap_data = it_final
* CHANGING
* I_TAB_CONVERTED_DATA =
exceptions
conversion_failed = 1
* OTHERS = 2
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
Thanks in Advance,
Mr. BenHi Ben,
Follow the code below....
Your internal table it_final will have the attachment data. After you got the attachment data do the following
gc_ret TYPE c VALUE cl_abap_char_utilities=>cr_lf.
lt_attachment TYPE TABLE OF solisti1 ,
gt_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0 WITH HEADER LINE,
CLEAR:gs_attach. <this will have your attachment, declare a structure which contains fields of your excel sheet>
<before this you have to copy all the fields from your final internal table which should be attached to email to gs_attach>
For attaching field names
CONCATENATE gc_ret gs_attach INTO gs_attach.
gs_attach = gs_attach+1.
APPEND gs_attach TO gt_attach.
CLEAR:lt_attachment.
lt_attachment[] = gt_attach[].
SORT lt_attachment .
DELETE ADJACENT DUPLICATES FROM lt_attachment COMPARING ALL FIELDS.
CLEAR gs_attach.
CONCATENATE <field names >
INTO gs_attach SEPARATED BY gc_tab.
INSERT gs_attach INTO lt_attachment INDEX 1.
<field addition ends>
call function 'SO_NEW_DOCUMENT_SEND_API1'
exporting
document_type = 'RAW'
document_data = doc_chng
PUT_IN_OUTBOX = 'X'
tables
object_content = objcont
receivers = reclist
contents_bin = lt_attachment
exceptions
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
if sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
Regards,
Aravind. -
The structure of the profit center report in new GL
Hello,
I must finish a query for the customer this week. This query must base on a sap standard report for the new GL.
Because our ECC 6.0 system hasn't the Enhancement Package 3 (contains the necessary new features) yet, so I can't see this standard report which should be displayed under the path:
SAP Menu --> Accounting --> Financial Accounting --> General Ledger --> Information System --> General Ledger Reports (New) --> Profit Center Reports --> S_E38_98000088 - Profit Center Group: Plan/Actual/Variance
Can somebody tell me the structure of this report, if you can see this report in your system?
- Which key figure has been used in the report?
- What are in the rows and columns?
- Which characteristics are available to navigation?
- Which variables and General data selections are there?
Hope somebody can help me. Thanks a lot!
Best regards,
YuanyuanHi,
Then my suggesion is you copy the form & report structure of most suitable report (which you have downloaded through FGIQ) .Modify the form according to your reporting requirement. Create new report by coping standard report & assign this newly created form to this report.This will serve your purpose.
Please do not make any changes to standard report.Copy it & then do the changes.
Transaction code for the same is FGI0 or FGI1 or FGI2 or 3 or 4 or 5 or FGI6.
Second suggestion is in SPRO in GL information system (infact in each information system ) you will find drilldown report node in that import report transaction e.g. FSIQ .Import all reports you might get your required report.
Regards,
Abhijit -
Attribute "Report Layout" is missing in the "Print Attributes" tab for IR
Hallo,
The attribute “Report Layout” is missing in the “Print Attributes” tab for an interactive report?
How to alter the report layout (xsl-fo) of an interactive report?
Has someone any idea where to configure this?
Btw, for the "classic" SQL Report the XSL-FO "Report Layout" can be cahnged in "Print Attributes" and this works fine for me. But I want to change the xsl-fo for the interactive report.
"If you do not select a report layout, a default XSL-FO layout is used. The default XSL-FO layout is always used for rendering Interactive Report regions. ... Unlike classic reports, the Interactive Report Print Attributes can only utilize the default XSL-FO layout and is initiated from the Report Attributes, Download section rather than directly from this screen. Once configured, these attributes only apply only to the current region and cannot be used outside the context of the region."
http://apex.oracle.com/i/doc/bldapp_rpt_print.htm
How can the "default XSL-FO layout" be changed?
Changing is necessary because the Apache FOP 1.0 reports the following error (for the transmitted default XSL-FO):
"fo:simple-page-master", "fo:region-body" must be declared before "fo:region-before"
http://www.w3.org/TR/xsl/#fo_region-before
The default report layout is not saved in:
select * from APEX_040000.WWV_FLOW_REPORT_LAYOUTS
Thx, WilliI've found two workaround for getting Apache FOP 1.0 to work with Oracle Apex 4.0 for PDF printing of interactive reports:
1, Use an application process to set your custom layout for interactive reports:
[ ] grant all on APEX_040000.WWV_RENDER_REPORT3 to {YOUR_SCHEMA_NAME};
[ ] Create an Application Process e.g. "Custom Report Layout" with constraint for request 'PDF' and Process Text:
declare
v_xsl varchar2(32767);
begin
v_xsl := '<?xml version = ''1.0'' encoding = ''utf-8''?>
<xsl:stylesheet version="2.0"
<fo:region-body region-name="region-body" margin-top="54.0pt" margin-bottom="54.0pt"/>
<fo:region-before region-name="region-header" extent="54.0pt"/>
</xsl:stylesheet>';
APEX_040000.WWV_RENDER_REPORT3.g_prn_template := v_xsl;
end;2, If you have some knowlege in Java change the sequnce of the the nodes in the apex_fop.jsp (or servlet), ie. changing the xsl before you use it for transformation.
The code depends on the solution you are using to parse the xsl string.
Hope this may help someone,
Willi -
How to bindi a UI element to 2 model nodes different in the same view
I want to know how I can bind a set of inputfields, in a form view, to 2 different model nodes ?
<u>example:</u>
Im working with 2 adaptional RFC, both working, in my Custom Context.
Ztest_Search
Ztest_Update
In my ResultView I have 2 Model nodes (one for each RFC) I show a set of inputfields in a form view, binded to the Ztest_Search_output of Ztest_Search. This works.
now I want to update the changes, but I can't find the ways of binding the same inputfields to my other Model node (Ztest_Update) in the context of ResultView.
Note: If I create a duplicate set of inputfields , one for Ztest_Search binded to the Ztest_Update_output and the other to the Ztest_Update_Input Works. But I wanna avoid this duplicated set of inputfields.
ThxRodrigo,
If I understood correctly, your problem is to get the data from the input fields which are bound to a
model node, Ztest_Search_output and set it to the model node of another RFC, Ztest_Update.
This can be done by getting the suitable values from the model attributes of Ztest_Search_output
and setting it to Ztest_Update.
<b>/**
* valueOne, valueTwo are the name of the model
* attributes that are bound to the Input fields.
*/</b>
String firstValue = wdContext.currentZtest_Search_outputElement
().get<valueOne>;
String secondValue = wdContext.currentZtest_Search_outputElement
().get<valueTwo>;
Ztest_Update_Input update = new Ztest_Update_Input();
wdContext.nodeZtest_Update_Input().bind(update);
<b>/*
*<b>Zstructure is the structure of the model node under
*Ztest_Update_Input to which the values have to be
*updated.</b>
*/</b>
ZStructure structure = new ZStruture();
structure.setValueOne(valueOne);
structure.setValueTwo(valueTwo);
update.addZStructure(structure);
try
update.execute();
catch (Exception ex)
wdComponentAPI.getMessageManager().reportException(ex.getMessage(), false);
wdContext.nodeZtest_Update_Output().invalidate();
Bala
Maybe you are looking for
-
How to print from internet to remote printer?
The wife recently has a need to print from corporate LAN to a remote HP Laser @ our house. Mainly to save time. She wants to be able to run her reports at the end of the day from the corp LAN connection and spool it to a HP Laser at the house. This w
-
Offsetting Entry for Inventory Posting
Hi , While Working on Automatic Postings - Offsetting Entry for Inventory Posting can any one explain me what are all General modification ,valuation modification entries made ? What are all General Valuation Class applicable for GBB Entries & give m
-
Dear Friends, I am posted Manual TDS throu T.Code F-02 TDS Payable A/C ---Dr To Vendor----Cr. After removing the automatic posting check box for GL Account. I have a problem when creating Rimittence Challan. There is no TDS is availabele in J1I
-
How do I manually duplex with hp2840 (and get pages 1 & 2, ect. back to back)?
-
Best way to reload images into Lightroom 5.4
I use Lightroom 5.4. My computer hard drive crashed,but I have a back up hard drive. When I reloaded my files from the backup drive to the computer drive, the images were not in the same file structure. After discussing it with someone at Adobe tech