<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: The Program getting. Dump, code which i build is Combination Both Application &amp; Rule. in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/the-program-getting-dump-code-which-i-build-is-combination-both-application/qaa-p/12727411#M4776498</link>
    <description>&lt;P&gt;Check the content of lx_fdt-&amp;gt;mt_message whether there is some meaningfull error reported&lt;/P&gt;</description>
    <pubDate>Tue, 07 Feb 2023 16:00:08 GMT</pubDate>
    <dc:creator>harald_lesche-holzbecher</dc:creator>
    <dc:date>2023-02-07T16:00:08Z</dc:date>
    <item>
      <title>The Program getting. Dump, code which i build is Combination Both Application &amp; Rule.</title>
      <link>https://community.sap.com/t5/technology-q-a/the-program-getting-dump-code-which-i-build-is-combination-both-application/qaq-p/12727410</link>
      <description>&lt;P&gt;HI SCN People,&lt;BR /&gt;What's the problem is I written the code seprately for both Application &amp;amp; Rule, &lt;BR /&gt;but next target is to write in combination Application + Rule In One Program so that code will create application as well as rules in it.&lt;/P&gt;
  &lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/attachments/2137706-image.png" /&gt;&lt;/P&gt;
  &lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;EM&gt;The code which i written,&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;DATA: loactory TYPE REF TO if_fdt_factory, 
  &lt;BR /&gt; lo_rule TYPE REF TO if_fdt_rule, 
  &lt;BR /&gt; lo_application TYPE REF TO if_fdt_application, 
  &lt;BR /&gt; lo_function TYPE REF TO if_fdt_function, 
  &lt;BR /&gt; lo_result TYPE REF TO if_fdt_result, 
  &lt;BR /&gt; lo_context TYPE REF TO if_fdt_context, 
  &lt;BR /&gt; lo_admin_data TYPE REF TO if_fdt_admin_data, 
  &lt;BR /&gt; lo_actn_msg_log TYPE REF TO if_fdt_actn_message_log, 
  &lt;BR /&gt; lr_data TYPE REF TO data, 
  &lt;BR /&gt; lo_data_object TYPE REF TO if_fdt_data_object, 
  &lt;BR /&gt; lt_messages TYPE if_fdt_types=&amp;gt;t_message, 
  &lt;BR /&gt; ls_messages TYPE if_fdt_types=&amp;gt;s_message, 
  &lt;BR /&gt; lv_boolean TYPE abap_bool, 
  &lt;BR /&gt; lv_condition_id TYPE if_fdt_types=&amp;gt;id, 
  &lt;BR /&gt; lts_context_id TYPE if_fdt_types=&amp;gt;ts_object_id, 
  &lt;BR /&gt; lv_actv_failed TYPE abap_bool, 
  &lt;BR /&gt; lt_actn_msg_log_par TYPE if_fdt_actn_message_log=&amp;gt;ts_message, 
  &lt;BR /&gt; ls_actn_msg_log_par TYPE if_fdt_actn_message_log=&amp;gt;s_message, 
  &lt;BR /&gt; lv_demo_appl_id TYPE if_fdt_types=&amp;gt;id, 
  &lt;BR /&gt; logobj TYPE balobj_d VALUE 'FDT', 
  &lt;BR /&gt; logsub TYPE balsubobj VALUE 'FDT_MSG_ACTION', 
  &lt;BR /&gt; lv_id TYPE if_fdt_types=&amp;gt;id. 
  &lt;BR /&gt; 
  &lt;BR /&gt;FIELD-SYMBOLS: 
  &lt;BR /&gt; &amp;lt;lt_rslt_table&amp;gt; TYPE table, 
  &lt;BR /&gt; &amp;lt;lt_rslt_struct&amp;gt; TYPE any. 
  &lt;BR /&gt; 
  &lt;BR /&gt;PARAMETERS: pv_actn TYPE abap_bool DEFAULT abap_true, 
  &lt;BR /&gt; pv_lcl TYPE abap_bool RADIOBUTTON GROUP r00 DEFAULT 'X', 
  &lt;BR /&gt; pv_mstr TYPE abap_bool RADIOBUTTON GROUP r00. 
  &lt;BR /&gt; 
  &lt;BR /&gt;lo_factory = cl_fdt_factory=&amp;gt;if_fdt_factory~get_instance( ). 
  &lt;BR /&gt; 
  &lt;BR /&gt;* ============================================================= 
  &lt;BR /&gt;* definition of the new application: 
  &lt;BR /&gt; 
  &lt;BR /&gt;lo_application = lo_factory-&amp;gt;get_application( ). 
  &lt;BR /&gt;lo_application-&amp;gt;if_fdt_transaction~enqueue( ). 
  &lt;BR /&gt; 
  &lt;BR /&gt;* set values for the application, especially the name is important 
  &lt;BR /&gt; 
  &lt;BR /&gt; 
  &lt;BR /&gt;lo_application-&amp;gt;set_software_component('HOME'). 
  &lt;BR /&gt;lo_application-&amp;gt;set_development_package( 'z1013522_sosu' ). 
  &lt;BR /&gt;lo_application-&amp;gt;if_fdt_admin_data~set_name( cl_fdt_services=&amp;gt;get_unique_name( ) ). 
  &lt;BR /&gt; 
  &lt;BR /&gt;* 
  &lt;BR /&gt;IF pv_lcl EQ abap_true. 
  &lt;BR /&gt; lo_application-&amp;gt;create_local_application( ). 
  &lt;BR /&gt;ELSEIF pv_mstr EQ abap_true. 
  &lt;BR /&gt; lo_application-&amp;gt;create_masterdata_application( ). 
  &lt;BR /&gt;ENDIF. 
  &lt;BR /&gt; 
  &lt;BR /&gt;lo_application-&amp;gt;if_fdt_transaction~activate( 
  &lt;BR /&gt; IMPORTING et_message = lt_messages 
  &lt;BR /&gt; ev_activation_failed = lv_boolean ). 
  &lt;BR /&gt; 
  &lt;BR /&gt;IF lv_boolean EQ abap_true. 
  &lt;BR /&gt; 
  &lt;BR /&gt; lo_application-&amp;gt;if_fdt_transaction~dequeue( ). 
  &lt;BR /&gt;ELSE. 
  &lt;BR /&gt; lo_application-&amp;gt;if_fdt_transaction~save( ). 
  &lt;BR /&gt; lo_application-&amp;gt;if_fdt_transaction~dequeue( ). 
  &lt;BR /&gt; 
  &lt;BR /&gt; lv_demo_appl_id = lo_application-&amp;gt;mv_id. 
  &lt;BR /&gt;ENDIF. 
  &lt;BR /&gt;WRITE: 'The ID of the application created is: ', lv_demo_appl_id. 
  &lt;BR /&gt; 
  &lt;BR /&gt;START-OF-SELECTION. 
  &lt;BR /&gt;* Get an instance of the FDT factory. 
  &lt;BR /&gt; lo_factory = cl_fdt_factory=&amp;gt;if_fdt_factory~get_instance( 
  &lt;BR /&gt; 'lv_demo_appl_id'). 
  &lt;BR /&gt; 
  &lt;BR /&gt; cl_fdt_convenience=&amp;gt;create_element( EXPORTING iv_name = 'zso_ele_demo' 
  &lt;BR /&gt; iv_application_id = 'lv_demo_appl_id' 
  &lt;BR /&gt; iv_element_type = if_fdt_constants=&amp;gt;gc_element_type_boolean 
  &lt;BR /&gt; iv_activate = abap_false 
  &lt;BR /&gt; IMPORTING ev_element_id = lv_condition_id ). 
  &lt;BR /&gt; INSERT lv_condition_id INTO TABLE lts_context_id. 
  &lt;BR /&gt; 
  &lt;BR /&gt;* Create a rule expression and set some attributes to it. 
  &lt;BR /&gt; lo_rule ?= lo_factory-&amp;gt;get_expression( 
  &lt;BR /&gt; iv_expression_type_id = if_fdt_constants=&amp;gt;gc_exty_rule ). 
  &lt;BR /&gt; lo_rule-&amp;gt;if_fdt_transaction~enqueue( ). 
  &lt;BR /&gt; lo_rule-&amp;gt;if_fdt_admin_data~set_name( 'zso_rule_demo' ). 
  &lt;BR /&gt;* Rule Condition has to be a boolean value 
  &lt;BR /&gt; lo_rule-&amp;gt;set_condition( lv_condition_id ). 
  &lt;BR /&gt;* Create an action message to set as the false action and set some attributes. 
  &lt;BR /&gt; lo_actn_msg_log ?= lo_factory-&amp;gt;get_expression( 
  &lt;BR /&gt; iv_expression_type_id = if_fdt_actn_message_log=&amp;gt;gc_exty_message_log ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;if_fdt_transaction~enqueue( ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;if_fdt_admin_data~set_name( 'zso_msg_demo' ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;set_application_log_object( EXPORTING iv_log_object = logobj 
  &lt;BR /&gt; iv_log_subobject = logsub ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;set_persistency_settings( abap_false ). 
  &lt;BR /&gt; ls_actn_msg_log_par-msgid = 'ZSO_MSG_DEMO'. 
  &lt;BR /&gt; ls_actn_msg_log_par-msgno = '002'. 
  &lt;BR /&gt; ls_actn_msg_log_par-msgty = 'I'. 
  &lt;BR /&gt; INSERT ls_actn_msg_log_par INTO TABLE lt_actn_msg_log_par. 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;set_messages( lt_actn_msg_log_par ). 
  &lt;BR /&gt;* Set the false action of the rule 
  &lt;BR /&gt; lo_rule-&amp;gt;set_false_action( lo_actn_msg_log-&amp;gt;if_fdt_admin_data~mv_id ). 
  &lt;BR /&gt;*Create an action message to set as the True action and set some attributes. 
  &lt;BR /&gt; CLEAR: ls_actn_msg_log_par, lt_actn_msg_log_par. 
  &lt;BR /&gt; lo_actn_msg_log ?= lo_factory-&amp;gt;get_expression( 
  &lt;BR /&gt; iv_expression_type_id = if_fdt_actn_message_log=&amp;gt;gc_exty_message_log ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;if_fdt_transaction~enqueue( ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;if_fdt_admin_data~set_name( 'zso_msg_log' ). 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;set_application_log_object( EXPORTING iv_log_object = logobj 
  &lt;BR /&gt; iv_log_subobject = logsub ). 
  &lt;BR /&gt; 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;set_persistency_settings( abap_false ). 
  &lt;BR /&gt; ls_actn_msg_log_par-msgid = 'ZSO_MSG_DEMO'. 
  &lt;BR /&gt; ls_actn_msg_log_par-msgno = '001'. 
  &lt;BR /&gt; ls_actn_msg_log_par-msgty = 'I'. 
  &lt;BR /&gt; INSERT ls_actn_msg_log_par INTO TABLE lt_actn_msg_log_par. 
  &lt;BR /&gt; lo_actn_msg_log-&amp;gt;set_messages( lt_actn_msg_log_par ). 
  &lt;BR /&gt;* Set the True action of the rule 
  &lt;BR /&gt; lo_rule-&amp;gt;set_true_action( lo_actn_msg_log-&amp;gt;if_fdt_admin_data~mv_id ). 
  &lt;BR /&gt; 
  &lt;BR /&gt; 
  &lt;BR /&gt;* Create a function instance using factory. 
  &lt;BR /&gt; lo_function ?= lo_factory-&amp;gt;get_function( ). 
  &lt;BR /&gt;* Setting some attributes of the function 
  &lt;BR /&gt; lo_function-&amp;gt;if_fdt_transaction~enqueue( ). 
  &lt;BR /&gt; lo_function-&amp;gt;if_fdt_admin_data~set_name( cl_fdt_services=&amp;gt;get_unique_name( ) ). 
  &lt;BR /&gt; lo_function-&amp;gt;set_context_data_objects( lts_context_id ). 
  &lt;BR /&gt; lo_function-&amp;gt;set_result_data_object( if_fdt_action=&amp;gt;gc_dobj_action_table ). 
  &lt;BR /&gt; lo_function-&amp;gt;set_expression( lo_rule-&amp;gt;if_fdt_admin_data~mv_id ). 
  &lt;BR /&gt; 
  &lt;BR /&gt;** Perform deep activation &amp;amp; saving. 
  &lt;BR /&gt; DATA : lt_message TYPE if_fdt_types=&amp;gt;t_message, 
  &lt;BR /&gt; lv_message TYPE string, 
  &lt;BR /&gt; lx_fdt TYPE REF TO cx_fdt. 
  &lt;BR /&gt; 
  &lt;BR /&gt; FIELD-SYMBOLS: 
  &lt;BR /&gt; &amp;lt;ls_message&amp;gt; TYPE if_fdt_types=&amp;gt;s_message. 
  &lt;BR /&gt; 
  &lt;BR /&gt;* Activate the function deep so that all the objects associated with 
  &lt;BR /&gt;* the function also get activated. Only activated changes are relevant 
  &lt;BR /&gt;* for processing; however, active memory states can also be processed 
  &lt;BR /&gt;* without a need to save to DB 
  &lt;BR /&gt; lo_function-&amp;gt;if_fdt_transaction~activate( 
  &lt;BR /&gt; EXPORTING iv_deep = abap_true 
  &lt;BR /&gt; IMPORTING et_message = lt_message 
  &lt;BR /&gt; ev_activation_failed = lv_actv_failed ). 
  &lt;BR /&gt; 
  &lt;BR /&gt;* If the activation is successful, save all object and release all locks. 
  &lt;BR /&gt;* Else, only release the locks. 
  &lt;BR /&gt; IF lv_actv_failed EQ abap_true. 
  &lt;BR /&gt; lo_function-&amp;gt;if_fdt_transaction~dequeue( 
  &lt;BR /&gt; EXPORTING iv_deep = abap_true ). 
  &lt;BR /&gt; WRITE : / 'Deep activation failed'. "#EC NOTEXT 
  &lt;BR /&gt; LOOP AT lt_message ASSIGNING &amp;lt;ls_message&amp;gt;. 
  &lt;BR /&gt; MESSAGE ID &amp;lt;ls_message&amp;gt;-msgid TYPE &amp;lt;ls_message&amp;gt;-msgty NUMBER &amp;lt;ls_message&amp;gt;-msgno 
  &lt;BR /&gt; WITH &amp;lt;ls_message&amp;gt;-msgv1 &amp;lt;ls_message&amp;gt;-msgv2 &amp;lt;ls_message&amp;gt;-msgv3 &amp;lt;ls_message&amp;gt;-msgv4 
  &lt;BR /&gt; INTO lv_message. 
  &lt;BR /&gt; WRITE: / 'Reason : -',lv_message. "#EC NOTEXT 
  &lt;BR /&gt; ENDLOOP. 
  &lt;BR /&gt; ELSE. 
  &lt;BR /&gt; TRY. 
  &lt;BR /&gt; lo_function-&amp;gt;if_fdt_transaction~save( 
  &lt;BR /&gt; EXPORTING iv_deep = abap_true ). 
  &lt;BR /&gt; CATCH cx_fdt INTO lx_fdt. 
  &lt;BR /&gt; WRITE : / 'Save failed with exception'. "#EC NOTEXT 
  &lt;BR /&gt; LOOP AT lx_fdt-&amp;gt;mt_message ASSIGNING &amp;lt;ls_message&amp;gt;. 
  &lt;BR /&gt; WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; &amp;lt;ls_message&amp;gt;-text. 
  &lt;BR /&gt; ENDLOOP. 
  &lt;BR /&gt; ENDTRY. 
  &lt;BR /&gt; 
  &lt;BR /&gt; lo_function-&amp;gt;if_fdt_transaction~dequeue( 
  &lt;BR /&gt; EXPORTING iv_deep = abap_true ). 
  &lt;BR /&gt; ENDIF. 
  &lt;BR /&gt; 
  &lt;BR /&gt;*==================================================================================== 
  &lt;BR /&gt;* run-time 
  &lt;BR /&gt;* Process the function on successful activation and display result . 
  &lt;BR /&gt;* Catch exception if any. 
  &lt;BR /&gt; IF lv_actv_failed NE abap_true. 
  &lt;BR /&gt;* Using the context of the function. 
  &lt;BR /&gt; lo_context = lo_function-&amp;gt;get_process_context( ). 
  &lt;BR /&gt; lo_context-&amp;gt;set_value( iv_id = lv_condition_id ia_value = pv_actn ). 
  &lt;BR /&gt; 
  &lt;BR /&gt; TRY. 
  &lt;BR /&gt; lo_function-&amp;gt;process( EXPORTING io_context = lo_context 
  &lt;BR /&gt; IMPORTING eo_result = lo_result ). 
  &lt;BR /&gt; CATCH cx_fdt INTO lx_fdt. 
  &lt;BR /&gt; LOOP AT lx_fdt-&amp;gt;mt_message ASSIGNING &amp;lt;ls_message&amp;gt;. 
  &lt;BR /&gt; WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; &amp;lt;ls_message&amp;gt;-text. 
  &lt;BR /&gt; ENDLOOP. 
  &lt;BR /&gt; ENDTRY. 
  &lt;BR /&gt; ENDIF. 
  &lt;BR /&gt; 
  &lt;BR /&gt; IF lo_result IS BOUND. 
  &lt;BR /&gt; lo_data_object = lo_result-&amp;gt;get_data_object( ). 
  &lt;BR /&gt; lo_data_object-&amp;gt;create_data_reference( IMPORTING er_data = lr_data ). 
  &lt;BR /&gt; ASSIGN lr_data-&amp;gt;* TO &amp;lt;lt_rslt_table&amp;gt;. 
  &lt;BR /&gt; lo_result-&amp;gt;get_value( IMPORTING ea_value = &amp;lt;lt_rslt_table&amp;gt; ). 
  &lt;BR /&gt; LOOP AT &amp;lt;lt_rslt_table&amp;gt; ASSIGNING &amp;lt;lt_rslt_struct&amp;gt;. 
  &lt;BR /&gt; lv_id = &amp;lt;lt_rslt_struct&amp;gt;. 
  &lt;BR /&gt; cl_fdt_factory=&amp;gt;get_instance_generic( EXPORTING iv_id = lv_id 
  &lt;BR /&gt; IMPORTING eo_instance = lo_admin_data ). 
  &lt;BR /&gt; lo_actn_msg_log ?= lo_admin_data. 
  &lt;BR /&gt; lt_actn_msg_log_par = lo_actn_msg_log-&amp;gt;get_messages( ). 
  &lt;BR /&gt; LOOP AT lt_actn_msg_log_par INTO ls_actn_msg_log_par. 
  &lt;BR /&gt; MESSAGE ID ls_actn_msg_log_par-msgid TYPE ls_actn_msg_log_par-msgty NUMBER ls_actn_msg_log_par-msgno. 
  &lt;BR /&gt; ENDLOOP. 
  &lt;BR /&gt; ENDLOOP. 
  &lt;BR /&gt; 
  &lt;PRE&gt;&lt;CODE&gt;  ENDIf. 

Getting Error Code Place - In pic 
&amp;lt;br&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 07 Feb 2023 11:41:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/the-program-getting-dump-code-which-i-build-is-combination-both-application/qaq-p/12727410</guid>
      <dc:creator>SowmyaSurekha</dc:creator>
      <dc:date>2023-02-07T11:41:00Z</dc:date>
    </item>
    <item>
      <title>Re: The Program getting. Dump, code which i build is Combination Both Application &amp; Rule.</title>
      <link>https://community.sap.com/t5/technology-q-a/the-program-getting-dump-code-which-i-build-is-combination-both-application/qaa-p/12727411#M4776498</link>
      <description>&lt;P&gt;Check the content of lx_fdt-&amp;gt;mt_message whether there is some meaningfull error reported&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2023 16:00:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/the-program-getting-dump-code-which-i-build-is-combination-both-application/qaa-p/12727411#M4776498</guid>
      <dc:creator>harald_lesche-holzbecher</dc:creator>
      <dc:date>2023-02-07T16:00:08Z</dc:date>
    </item>
  </channel>
</rss>

