How To Use Dynamic SO10 Text in BRF+ Adobe Form Output SAP
How To Use Dynamic SO10 Text in BRF+ Adobe Form Output SAP
Technical Articles
Beyhan MEYRALI
September 30, 2022 | 4 minute read
Hi,
Like
In this post ,I would like to share with you, how to use dynamic SO10 text elements on standard
Adobe form that you maintain with SFP tcode and also show you, how to achieve same thing with
RSS Feed BRF+ Adobe form outputs those need to be maintained in Adobe Live Cycle application.
S F P PA R T
For non BRF+ cases, If you want to use SO10 text elements with their styles in Adobe form, you
can go to SFP transaction, create a form and add TEXT element to context, bind that text
element to a text object on layout. That is it, it will work nicely.
You can drag and drop from context to layout. It will create necessary element on layout with
bindings.
IF langu IS INITIAL.
langu = 'E'.
ENDIF.
docstc-ship_type_text_langu = langu.
IF langu NE 'E'.
result = fill_doc_ship_type_txt( langu = 'E' ).
ELSE.
result-status = c_stat_warning.
IF NOT sy-msgid IS INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
INTO result-status_text.
ENDIF.
ENDIF.
ELSE.
result-status = c_stat_success.
ENDIF.
ELSE.
result-status = c_stat_error.
ENDIF.
That is it for SFP form. With those steps above, you can use TEXT element with dynamic text
objects in non BRF+ forms.
B R F + PA R T
There is a solution! You can pass string that contains html tags such as <b></b> and run
Javascript code events to interpret the string as html.
in Word Editor
In XYZ_get_entityset method we will read our text and concatenate it according SO10.
method xyz_get_entitsey.
............
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'ST'
language = 'E'
name = name
object = 'TEXT'
TABLES
lines = texts-tdlines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc IS INITIAL.
"Some sort of logic to open close tags for each line, in case if user fo
"Javascript event will work for each line,therefore tags needs to exists
IF newline-tdline CP '*<b>*' AND NOT newline-tdline CP '*</b>*'.
newline-tdline = newline-tdline && '</b>'.
ELSEIF newline-tdline CP '*</b>*' AND NOT newline-tdline CP '*<b>*'.
newline-tdline = '<b>' && newline-tdline.
ENDIF.
Add a table to list rows, as you would do for any table view.
this.value.exData.loadXML(envelope,1,1);
}
There were blog posts and answers to give clues on solving BRF+ and SO10 case. But there was
not a complete answer. Therefore I decided to write a post. Hope that helps you.
Links:
Alert Moderator
Assigned Tags
ABAP Development | NW ABAP Business Rule Framework (BRFplus) | SAP Interactive Forms by Adobe
1 Comment
Vishal B
November 17, 2022 at 10:49 am
Like 1 | Share
Find us on
Newsletter Support